【问题标题】:How to replace a backslash character with a semicolon?如何用分号替换反斜杠字符?
【发布时间】:2017-03-10 00:38:25
【问题描述】:

我正在尝试对字符串中出现的反斜杠进行简单替换。所以我使用了 string.replace 方法,传入一个正则表达式来删除反斜杠\

但我注意到,当我调用此方法时,不是用冒号 : 字符替换 EMEA 后的反斜杠。它只是删除用户名中的第一个字母。

我创建了一个JSFIddle of the code here

不知道为什么正则表达式不起作用,正如其他 SO 答案中所建议的那样:

Replace all backslashes in a string with a pipe

问题:

如何用分号替换反斜杠字符?

代码要点:

var str = "EMEA\victorb";
str = str.replace(/\\/g, ':');

document.write(str);

【问题讨论】:

标签: javascript regex string replace


【解决方案1】:

这是原始字符串的问题,而不是正则表达式:它是

var str = "EMEA\victorb";

当它应该是:

var str = "EMEA\\victorb";

【讨论】:

  • API 返回的原始字符串只包含一个反斜杠。有没有办法替换一个反斜杠的出现?
  • 如果 api 返回一个反斜杠,它将被自动编码到字符串中。双反斜杠仅用于对字符串常量进行编码。在实际的 API 数据上尝试您的替换方法,看看它的作用。
  • 啊,好吧,正如你所说,它是双反斜杠。使用实时 API 进行了尝试。
【解决方案2】:
var str = "EMEA\\victorb";
    str = str.replace("\\", ':'); because if you let just one \ it will be ignored.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-09
    • 2011-09-06
    • 1970-01-01
    • 1970-01-01
    • 2011-08-01
    • 1970-01-01
    • 2018-02-27
    • 1970-01-01
    相关资源
    最近更新 更多