Javascript替换,带逗号的字符串

标签 javascript replace

我有一个包含多次出现的 ],[ 的字符串,我想将其替换为 ]@[

无论我怎么尝试,我都做不好。

    var find = '],[';
    var regex = new RegExp(find, "g");
    mytext.replace(regex, ']@[')

没用

   mytext = mytext.replace(/],[/g,']@[');

没用

知道我哪里出错了吗?

最佳答案

答案是 [ 和 ] 是正则表达式上下文中的特殊字符,因此需要通过\进行转义,即匹配 ] 你写 [ 当你使用方便的 Javascript 正则表达式速记时,你可以在下面的代码中找到:

var regex= /\],\[/g
var result = mytext.replace(regex, ']@[') 

请检查以下 jsFiddle:http://jsfiddle.net/JspRR/4/

如您所见,重要的一点是在构造正则表达式时转义 ] 和 [。

现在,如果您不想使用 Javascript 正则表达式速记,您仍然需要进行相同的转义。但是,在这种情况下,\字符将需要自行转义( ... 自己转义!)

var regex = new RegExp("\\],\\[", "g");
var result = mytext.replace(regex, ']@[') 

关于Javascript替换,带逗号的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13628863/

相关文章:

Javascript 警报会抑制其他 javascript 函数

javascript - 如何为动态生成的 HTML 元素添加 onclick 事件

Java 用特定字符更改字符串的一部分

javascript - 我的笔记本电脑上的 Chrome 为何能够提供如此精确的地理定位?

asp.net - 如何验证文件上传的文件类型?

vim - 在 VIM 中增加多个 IP 地址

regex - Linux 命令 : Find & Replace using regex not woking as expected

bash - 查找并替换为 sed

regex - 如何替换 Git 历史中的单词并正确调试相关问题?

javascript - 仅使用访问 token 在 Node 中获取 google+ 用户配置文件