使用JavaScript和正则表达式,方法示例string.replace(/[\w]/g, "*")
用*。
示例:
John & Sandy went to the market.
变为:
**** &***; ***** **** ** *** ******.
除了我们要避免替换“&”中的字符外,我想这样做和“;”没有空格分隔。
示例:
John & Sandy are awesome & rock; They are also weird.
变为:
**** & ***** *** ******* & ****; **** *** **** *****.
我的正则表现很弱,我很难搞清楚这一点。阅读其他解决方案也很困难。我很确定这可以用一种正则表达式完成。
如果你能解释一下正则表达式模式究竟发生了什么,这对我有帮助。
如果您可以限制“&”内的字符序列,则可获得积分和“;”。
答案 0 :(得分:5)
' John & Sandy are awesome & rock; They are also weird.'.replace(
/(&[^\s;]*;)|\w/g, function(a, b) {
return b || '*'; });
结果:
**** & ***** *** ******* & ****; **** *** **** *****.
在Firefox和Chrome中尝试并为我工作。