2017-06-13 2 views
0

Ich wollte aus einer Zeichenfolge eine bestimmte Reihe von Elementen in zwei Markierungen löschen. Ich zeige Ihnen ein Beispiel für mehr Klarheit.Löschen Sie Elemente in einem String von einem bestimmten Zeichen zu einem anderen in Javascript?

das ist meine Saite, und von der ersten öffnenden quadratischen Klammer von der ersten Verschlussklammer möchte ich das Element innen und die Klammern auch löschen.

var x = 'black , [ element ] , blue , green , [ repeated element ]' 

Und das Ergebnis sollte sein:

var x = 'black , blue , green , [ repeated element ]' 

Ich habe versucht, diesen Code, aber ich kann nicht einen Weg für eine bestimmte Lösch finden.

var x = 'black , [ element ] , blue , green , [ repeated element ]' 
x = x.substring(0, x.indexOf('[')); 
document.write(x); 

Antwort

1

dieses versuchen

für das erste Spiel nur x.replace(/\[[^\]]*\]\s*,?/, "")

für alle Spiel x.replace(/\[[^\]]*\]\s*,?/g, "")

function myFunction() { 
 
    var str = 'black , [ element ] , blue , green , [ repeated element ]'; 
 
    var res = str.replace(/(,\s*\[[^\]]*\])|(\[[^\]]*\]\s*,?)/, ""); 
 
    document.getElementById("demo").innerHTML = res; 
 
}
<!DOCTYPE html> 
 
<html> 
 
<body> 
 

 
<p>Click the button to replace</p> 
 

 
<p id="demo"></p> 
 

 
<button onclick="myFunction()">Try it</button> 
 

 

 

 
</body> 
 
</html>

1

Versuchen Sie, diese

x = x.substring(0,x.indexOf('[')) + x.substring(x.indexOf('] ,') + 3); 
+0

danke mann! es ist Arbeit! – Paulvan

Verwandte Themen