Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript .replace(';';,';-';)将只替换第一个空格_Javascript_Replace - Fatal编程技术网

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
代替
'