一个char不会被另一个使用.replace()方法替换

时间:2014-09-13 13:41:45

标签: jquery json replace

[
 {
    "1": "${monthNumber:1,monthName:January}#",
    "2": "${monthNumber:2,monthName:February}#",
    "3": "${monthNumber:3,monthName:March}#",
    "4": "April",
    "5": "${monthNumber:5,monthName:May}#",
    "6": "${monthNumber:6,monthName:June}#",
    "7": "${monthNumber:7,monthName:July}#",
    "8": "${monthNumber:8,monthName:August}#",
    "9": "${monthNumber:9,monthName:Septemeber}#",
    "10": "${monthNumber:10,monthName:October}#",
    "11": "${monthNumber:11,monthName:November}#",
    "12": "${monthNumber:12,monthName:December}#"
  }
]

我试图用[和#with]删除所有$;但我不知道为什么.replace方法没有替换所谓的项目。

我使用.replace作为

JSON.stringify($scope.monthA).replace(/$/g, "[").replace(/#/g, "]");

1 个答案:

答案 0 :(得分:2)

正则表达式中的$字符表示字符串的结尾。如果你想在文本中真正替换那个角色,你需要用反斜杠\来逃避它,这样正则表达式就知道它是你正在寻找的实际角色。

JSON.stringify($scope.monthA).replace(/\$/g, "[").replace(/#/g, "]");