如何在javascript中转义^字符?

时间:2017-07-12 16:58:13

标签: javascript regex string replace substring

对于特定邮件格式的邮件(HL7),我试图逃避^符号。因此字符串abc^def^ghi应该变为abc\^def\^ghi

我尝试了以下方法:

> "abc^def^ghi".replace("^", "\^");
'abc^def^ghi'
> "abc^def^ghi".replace("^", "\\^");
'abc\\^def^ghi'
> "abc^def^ghi".replace("^", "\\\^");
'abc\\^def^ghi'
> "abc^def^ghi".replace("\^", "\\\^");
'abc\\^def^ghi'
> "abc^def^ghi".replace("\\^", "\\\^");
'abc^def^ghi'
> "abc^def^ghi".replace(/^/g, "\\\^");
'\\^abc^def^ghi'
> "abc^def^ghi".replace(/\^/g, "\\\^");
'abc\\^def\\^ghi'
> "abc^def^ghi".replace(/\^/g, "\\^");
'abc\\^def\\^ghi'
> "abc^def^ghi".replace(/\^/g, "\^");
'abc^def^ghi'
> "abc^def^ghi".replace(/\\^/g, "\\\^");
'abc^def^ghi'

正如你所看到的,它们都不像我想要的那样工作。有人知道我怎么做吗?

1 个答案:

答案 0 :(得分:2)

"abc^def^ghi".replace(/\^/g, "\\\^")

你必须在正则表达式中转义^,因为它是一个特殊字符。