我坐在这里手里拿着“好的部分”,但我仍然没有更聪明。
任何人都可以为我敲一个正则表达式,这将允许我替换“|”的任何实例和“,”来自一个字符串。
另外,有人能指出我学习正则表达式的非常好的资源方向,特别是在javascript中(它们是一种特殊的味道吗?)在我的知识中它确实是一个弱点。
干杯。
答案 0 :(得分:19)
str.replace(/(\||,)/g, "replaceWith")
不要忘记最后的g
所以它会全局地传递字符串,如果你不把它放在正则表达式只会替换第一个字符实例。
说的是替换|
(您需要转义此字符)或(|
),
答案 1 :(得分:7)
如果您真的想要了解正则表达式(以及大多数实现/风格中的任何一个的特殊警告或怪癖),我发现的最佳资源是Regular-Expressions.info。
如果你真的进入正则表达式,我会推荐使用名为RegexBuddy的产品来测试和调试各种语言的正则表达式(尽管有一些东西它不支持 支持,它整体而言相当不错)
修改强>
最好的方式(我认为,特别是如果你考虑可读性)是使用字符类而不是替换(即:[]
而不是|
)
使用:
var newString = str.replace(/[|,]/g, ";");
这将用分号替换|
或,
字符类本质上意味着“匹配这些方括号内的任何内容” - 只有少数例外。
[a-zA-Z]
表示从a
到z
或从A
到Z
的任何字母。 ^
)放在字符类的开头否定 - 它表示此字符类中的任何不({{ 1}}表示任何非[^0-9]
到0
}的字符。9
将其转移到班级中的任何其他位置