2个字符串替换javascript
我是初学者,如何将它们结合起来:2个字符串替换javascript,javascript,regex,Javascript,Regex,我是初学者,如何将它们结合起来: var mystring = "my.email@computer.com"; document.write(mystring.replace(/@/, "&&")); 打印my.email和&computer.com var mystring = "my.email@computer.com"; document.write(mystring.replace(/\./, "##")); 打印my##email@computer.com va
var mystring = "my.email@computer.com";
document.write(mystring.replace(/@/, "&&"));
打印my.email和&computer.com
var mystring = "my.email@computer.com";
document.write(mystring.replace(/\./, "##"));
打印my##email@computer.com
var mystring = "my.email@computer.com";
document.write(mystring.replace(/\./, "##"));
我有两个问题:
如何生成这个正则表达式(mystring.replace(/。/,“##”)呢要在
@
之后将点更改为##
,我如何将这两行合并为一行,最终阅读如下:my.email和&computer\com
您可以使用split在/@/处拆分字符串,并将第二个regexp应用于字符串的第二部分,然后将结果与&>合并在一起。input:my.first.last合并。email@example.computer.com
var mystring = "my.email@computer.com";
document.write(mystring.replace(/\./, "##"));
结果:my.first.last.email&&example###computer#com
var mystring = "my.email@computer.com";
document.write(mystring.replace(/\./, "##"));
解决方案1:
var mystring = "my.first.last.email@example.computer.com";
//replace '.' after '@' with '##', then replace '@' with '&&'.
var result = mystring.replace(/(?!.*@)\./g, "##").replace(/@/, "&&");
document.write(result);
解决方案2(可配置):
输入:my.first.last。email@example.computer.com
var mystring = "my.email@computer.com";
document.write(mystring.replace(/\./, "##"));
结果:my.first.last.email&&example###computer#com
var mystring = "my.email@computer.com";
document.write(mystring.replace(/\./, "##"));
解决方案1:
var mystring = "my.first.last.email@example.computer.com";
//replace '.' after '@' with '##', then replace '@' with '&&'.
var result = mystring.replace(/(?!.*@)\./g, "##").replace(/@/, "&&");
document.write(result);
解决方案2(可配置):
试试这个
var mystring = "my.email@computer.com";
document.write(mystring.replace(/(.*@.*)\./, "$1##").replace(/@/, "&&"));
试试这个
var mystring = "my.email@computer.com";
document.write(mystring.replace(/(.*@.*)\./, "$1##").replace(/@/, "&&"));
试试这个:
var mystring = "my.email@computer.com"
document.write(mystring.replace(/\.(?!\w+@)/, '##').replace(/@/, '&&'));
试试这个:
var mystring = "my.email@computer.com"
document.write(mystring.replace(/\.(?!\w+@)/, '##').replace(/@/, '&&'));
这应该起作用:
var mystring = "my.email@computer.com";
document.write(mystring.replace(/(.*?)(@)(.*?)(\.)(.*)/, "$1&&$3##$5"));
结果:
my.email&&computer##com
看到它在这里工作:这应该可以工作:
var mystring = "my.email@computer.com";
document.write(mystring.replace(/(.*?)(@)(.*?)(\.)(.*)/, "$1&&$3##$5"));
结果:
my.email&&computer##com
看到它在这里工作:mystring.replace(/@/,“&&&>).replace(/\,“##”)
:)等一下,你期望的结果是my.email和computer#com
而不是my#email和computer#com
?@Rain Diao是的,需要这个my.email和computer##com
,也请看替换mystring解决方案(
).replace(/\。/,“##############com,“##################com(################,我想打印my.email和&computer###com
再次感谢,未命名语法错误:意外令牌;在第15行,谢谢@Rain Diao,它会打印my#######com
,我想正则表达式应该是这样的,在
之前什么都不做,在
之后,然后替换
他使用的/g
,这意味着所有
都将被
替换为
是的,但删除/g
,它不会替换最后一个
,只需要替换最后一个
谢谢,但它会打印我的电子邮件和计算机.com
,我想打印我的.email和计算机.com
,再次感谢,未标记的语法错误:意外标记;在第15行,谢谢@Rain Diao,它会打印my#######com
,我想正则表达式应该是这样的,在
之前什么都不做,在
之后,然后替换
他使用的/g
,这意味着所有
都将被
替换为
是的,但删除/g
,它不替换最后一个
,只需要替换最后一个
更新的答案,以跳过@之前的替换点。@olo记住,这只替换了一次@和点。更新的答案以跳过@之前的替换点。@olo记住,这只替换了一次出现的@和点。@olo-我没有注意到您想用两个“&”替换“@”。。。现在修好了。在单个正则表达式中,您将得到“&&”而不是“@”replace@olo-我没有注意到您想用两个替换“@”&“。。。现在修好了。在单个正则表达式替换中,您将得到“&&”而不是“@”