Javascript .replace(';';,';-';)将只替换第一个空格
我正在努力 要将:Javascript .replace(';';,';-';)将只替换第一个空格,javascript,replace,Javascript,Replace,我正在努力 要将:“任何用空格分隔的字符串”转换为 'any-string-separated-with-blankspaces' 我正在使用.replace(“,-”),但它只会首先替换。。。为什么?我怎样才能全部替换 将正则表达式与/g修饰符一起使用您需要使用正则表达式作为第一个参数,使用/g修饰符使其替换所有出现的值: var replaced = input.replace(/ /g,'-'); 如果要替换任何空白字符而不是文字空格,则需要在正则表达式中使用\s而不是;如果您想用一
“任何用空格分隔的字符串”
转换为
'any-string-separated-with-blankspaces'
我正在使用.replace(“,-”)
,但它只会首先替换。。。为什么?我怎样才能全部替换
将正则表达式与
/g
修饰符一起使用您需要使用正则表达式作为第一个参数,使用/g
修饰符使其替换所有出现的值:
var replaced = input.replace(/ /g,'-');
如果要替换任何空白字符而不是文字空格,则需要在正则表达式中使用
\s
而不是
;如果您想用一个连字符替换任意数量的连续空格,那么在
或\s
之后添加+
,您需要一个正则表达式
.replace(/\s/g,'-')
\s
将替换任何类型的空白字符。如果你严格要求使用“正常”的空格
/g
相反。中没有特别清楚地说明,但是
String。replace
只进行一次替换,除非g
标志包含在其中,使用正则表达式而不是字符串:
要执行全局搜索和替换,请在正则表达式中包含g
开关,或者如果第一个参数是字符串,请在flags参数中包含g
(但请注意,标志
参数是非标准的,因为它们也在此处指出。)
因此,您需要
tag.replace(//g,'-')
在问题中使用/\s/g
代替'