我的JavaScript接受逗号分隔的名称列表,我将这些名称放在数组中。名称允许包含空格,但我想在两个单词之间只允许一个空格(但名称中不只有两个作为名称可以包含多个单词)。
如果它只是固定数量的空格,那很容易弄明白,但是如果空格数量可变,我会对如何做到这一点感到困惑。
以下是一个例子:
var arr = ["time", "my name is something", "hello world"];
在上面的数组中,我想要替换&#34中的多余空格;我的名字是"只有一个空格的元素。
到目前为止,我所尝试的是计算for循环中每个元素的空格数。如果空格的数量超过一个,我会跳过它们,最后将剩下的子字符串附加到到目前为止遍历的子字符串。
我想知道是否可以使用一些正则表达式来完成。
答案 0 :(得分:2)
像这样的东西(用一个\s+
替换多个空格' '
var arr = ["time", "my name is something", "hello world"];
arr = arr.map(function(i){
return i.replace(/\s+/g, ' ');
});