在javascript中将字符串中的元素从特定字符删除到另一个字符?

时间:2017-06-13 10:01:04

标签: javascript string replace filtering indexof

我想从字符串中删除两个标记内的特定系列元素。 我会告诉你一个更清楚的例子。

这是我的字符串,从第一个Closure支架的第一个开口方形braket我想删除里面的元素和brakets。

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

结果应该是:

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

我尝试了这段代码,但我无法找到特定删除的方法。

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

2 个答案:

答案 0 :(得分:1)

试试这个

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

答案 1 :(得分:1)

试试这个

仅限第一场比赛x.replace(/\[[^\]]*\]\s*,?/, "")

所有匹配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>
&#13;
&#13;
&#13;