【问题标题】:How to escape ^ character in javascript? [duplicate]如何在javascript中转义^字符? [复制]
【发布时间】:2017-07-12 16:58:12
【问题描述】:

对于特定消息格式 (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'

如您所见,它们都没有像我希望的那样工作。有人知道我该怎么做吗?

【问题讨论】:

  • 您已经拥有它"abc^def^ghi".replace(/\^/g, "\\^");,但显示不正确的输出。
  • 你在这个测试中使用了哪个 REPL?
  • @anubhava!我在终端中使用了节点 repl,但现在我看到它确实在 Chromium 控制台中提供了正确的输出。感谢您指出这一点!

标签: javascript regex string replace substring


【解决方案1】:
"abc^def^ghi".replace(/\^/g, "\\\^")

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

【讨论】:

    猜你喜欢
    • 2012-12-20
    • 2014-03-07
    • 2011-09-05
    • 2016-06-27
    • 1970-01-01
    • 1970-01-01
    • 2013-02-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多