用单个字符JavaScript替换可变长度子字符串

时间:2014-05-05 10:46:50

标签: javascript regex escaping spaces

我的JavaScript接受逗号分隔的名称列表,我将这些名称放在数组中。名称允许包含空格,但我想在两个单词之间只允许一个空格(但名称中不只有两个作为名称可以包含多个单词)。

如果它只是固定数量的空格,那很容易弄明白,但是如果空格数量可变,我会对如何做到这一点感到困惑。

以下是一个例子:

var arr = ["time", "my name is        something", "hello world"];

在上面的数组中,我想要替换&#34中的多余空格;我的名字是"只有一个空格的元素。

到目前为止,我所尝试的是计算for循环中每个元素的空格数。如果空格的数量超过一个,我会跳过它们,最后将剩下的子字符串附加到到目前为止遍历的子字符串。

我想知道是否可以使用一些正则表达式来完成。

1 个答案:

答案 0 :(得分:2)

像这样的东西(用一个\s+替换多个空格' '

var arr = ["time", "my name is        something", "hello world"];
arr = arr.map(function(i){
    return i.replace(/\s+/g, ' ');
});
相关问题