我坐在这里手里拿着"好零件",但我仍然没有更聪明.
任何人都可以为我敲一个正则表达式,这将允许我替换"|"的任何实例 和","来自一个字符串.
另外,有人能指出我学习正则表达式的非常好的资源方向,特别是在javascript中(它们是一种特殊的味道吗?)在我的知识中它确实是一个弱点.
干杯.
loc*_*zak 20
str.replace(/(\||,)/g, "replaceWith")不要忘记g最后所以它全局地传递字符串,如果你不把它放在正则表达式只会替换字符的第一个实例.
说的是替换|(你需要逃避这个角色)或(|),
如果你真的想要理解正则表达式(以及大多数实现/风格的特殊警告或怪癖),我发现的最好的资源是Regular-Expressions.info.
如果你真的进入正则表达式,我会推荐使用名为RegexBuddy的产品来测试和调试各种语言的正则表达式(虽然它有一些不太支持的东西,总体上相当不错)
编辑:
最好的方法(我认为,特别是如果你考虑可读性)是使用字符类而不是交替(即:[]代替|)
使用:
var newString = str.replace(/[|,]/g, ";");
Run Code Online (Sandbox Code Playgroud)
这将用分号替换a |或a,
字符类本质上意味着"匹配这些方括号内的任何内容" - 只有少数例外.
[a-zA-Z]指从任何信件a至z或A到Z).^)在字符类的开头否定它-它意味着什么不能在这个字符类([^0-9]指不是来自任何字符0到9).\,如果你喜欢