字符串中的句点不会被替换

时间:2012-02-18 04:49:32

标签: javascript

我有一个字符串“messages.get.342”,我想将其转换为“messages / get / 342”。不幸的是,当我致电"messages.get.342".replace('.', '/')时,我得到"messages/get.342"。是什么给了什么?

5 个答案:

答案 0 :(得分:1)

使用正则表达式

 "messages.get.342".replace(/\./g, '/')

答案 1 :(得分:1)

您需要使用带有全局标志的正则表达式来替换句点的所有实例:

document.write("messages.get.342".replace(/\./g, '/'));

答案 2 :(得分:1)

你需要使用像这样的正则表达式的全局替换。

"messages.get.342".replace(/\./g, '/');

修改

你也可以这样做;它有点长,但可以减少混乱。

var myString = "messages/get/342";
var regex = new RegExp(/\./, "g");
myString = mystring.replace(regex, myString);

使用javascript regex对象,您可以使用以下三个选项:

  1. i - 不区分大小写的匹配
  2. g - 全球匹配
  3. m - 多行匹配
  4. 您可以使用其他两个选项替换g (/ i或“i”)或与g (/ gi或“gi”)。

答案 3 :(得分:1)

全球化:

"messages.get.342".replace(/\./g, '/')

\.是一个转义期,其周围的斜杠表示模式匹配。如果你正在进行模式匹配,你必须逃避字面时间。 g表示全局,即匹配并替换所有出现,而不仅仅是第一次出现。

答案 4 :(得分:0)

不要将replace用于字符串。建议"messages.get.342".split('.').join('/')