删除字符串数组中的空格(JavaScript)

时间:2014-11-26 12:18:22

标签: javascript arrays string

我在JavaScript中有以下数组:

["X1", "         X2", "      X3", "      X4", "      X5", "      X6", "      X YZ1", "       X YZ2", "       X7", "      X8", "      X9"]

我想在字母开头之前删除空格,例如参见X2。但我希望不删除X和YZ1之间的空格。

有人知道,我怎么能这样做?

提前谢谢。

电贺。

5 个答案:

答案 0 :(得分:2)

RegEx替换前导空格:

for (var i = 0; i < arr.length; i++)
    arr[i] = arr[i].replace(/^\s+/, "");

答案 1 :(得分:0)

您可以尝试,替换()

strArray[0].replace(/\s/g, "") ;

答案 2 :(得分:0)

for (var i = 0; i < array.length; i++)
array[i] = array[i].trim();
}

答案 3 :(得分:0)

这是工作解决方案,它为Array对象添加了一个新方法。

演示:http://jsfiddle.net/bnpeon25/

a = ["X1", "         X2", "      X3", "      X4", "      X5", "      X6", "      X YZ1", "       X YZ2", "       X7", "      X8", "      X9"];

Array.prototype.trimvals = function() {
    for (var i = 0; i < this.length; i++) {
        this[i] = this[i].replace(/^\s+/, "");
    }
    return this;
}

console.log(a.trimvals());

答案 4 :(得分:0)

所有现代浏览器本身都支持.trim()。参考:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/Trim

arr[i] = arr[i].trim();

这不会删除您在问题中所述的嵌入空格。

或者,如果你想摆脱所有空间:领先,尾随和嵌入;那么你可以正则表达式:

arr[i] = arr[i].replace(/\s/g, "");

使用.trim()(领带和尾随空格)的代码段:

&#13;
&#13;
var arr = ["X1", "         X2", "      X3", "      X4", "      X5", "      X6", "      X YZ1", "       X YZ2", "       X7", "      X8", "      X9"];
for (var i = 0; i < arr.length; i++) { arr[i] = arr[i].trim(); }
document.getElementById("result").innerText = arr.join(",");
&#13;
<p id="result"></p>
&#13;
&#13;
&#13;

使用regex的片段(简单所有空格):

&#13;
&#13;
var arr = ["X1", "         X2", "      X3", "      X4", "      X5", "      X6", "      X YZ1", "       X YZ2", "       X7", "      X8", "      X9"];
for (var i = 0; i < arr.length; i++) { arr[i] = arr[i].replace(/\s/g, ""); }
document.getElementById("result").innerText = arr.join(",");
&#13;
<p id="result"></p>
&#13;
&#13;
&#13;