Javascript 用单个字符替换可变长度子字符串
我的JavaScript接受逗号分隔的名称列表,我将这些名称放入一个数组中。名称中允许有空格,但我想在两个单词之间只允许有一个空格(但名称中不能只有两个空格,因为名称中可以有多个单词) 如果它只是一个固定数量的空间,那么就很容易弄清楚了,但是对于可变数量的空间,我不知道该怎么做 以下是一个例子:Javascript 用单个字符替换可变长度子字符串,javascript,regex,escaping,spaces,Javascript,Regex,Escaping,Spaces,我的JavaScript接受逗号分隔的名称列表,我将这些名称放入一个数组中。名称中允许有空格,但我想在两个单词之间只允许有一个空格(但名称中不能只有两个空格,因为名称中可以有多个单词) 如果它只是一个固定数量的空间,那么就很容易弄清楚了,但是对于可变数量的空间,我不知道该怎么做 以下是一个例子: var arr = ["time", "my name is something", "hello world"]; 在上面的数组中,我想用一个空格替换“my name is somet
var arr = ["time", "my name is something", "hello world"];
在上面的数组中,我想用一个空格替换“my name is something”元素中的额外空格
到目前为止,我尝试的是计算for循环中每个元素中的空格数。如果空格的数量超过一个,我将跳过它们,并在最后将子字符串的其余部分附加到目前为止遍历的子字符串
我想知道是否可以使用一些正则表达式来完成 类似的内容(将多个空格\s+
替换为一个'
var arr = ["time", "my name is something", "hello world"];
arr = arr.map(function(i){
return i.replace(/\s+/g, ' ');
});