如何替换此JavaScript语句中的所有字符串值?

时间:2012-03-02 16:15:55

标签: javascript regex

  

可能重复:
  replace all occurrences in a string

我有这个字符串:

"12-3-02"

我想将其转换为:

"12/3/02"

我该怎么做?我试过了:

.replace(/-/,"/")

但这只会替换它找到的第一个。如何替换所有实例?

5 个答案:

答案 0 :(得分:4)

其中一个(使用splitglobal RegEx flag):

str = str.split('-').join('/'); // No RegExp needed

str = str.replace(/-/g, '/');   // `g` (global) has to be added.

答案 1 :(得分:4)

g(全局)修饰符添加到正则表达式,以匹配所有-

.replace(/-/g,"/")

答案 2 :(得分:3)

如果您要将-的所有匹配项替换为/,请使用g指定全局修饰符的位置。

"12-3-02".replace(/-/g,"/");

工作演示 - http://jsfiddle.net/ShankarSangoli/QvbM8/

答案 3 :(得分:3)

尝试:

"12-3-02".replace(/-/g, '/');

答案 4 :(得分:1)

这个问题已经提出了大约一千次,但没有人考虑过在现实世界中,角色可能出现在你可能没有想到的地方的可能性。(输入错字或替换你的部分单词)只想替换一个单词......

var reformat = '01-11-2012'.replace(/(([0-9]+)(?=\-))\-(?=[0-9])/g,'$1/');

这只会替换前面和后跟数字的' - '字符。