我在JavaScript中有以下数组:
["X1", " X2", " X3", " X4", " X5", " X6", " X YZ1", " X YZ2", " X7", " X8", " X9"]
我想在字母开头之前删除空格,例如参见X2。但我希望不删除X和YZ1之间的空格。
有人知道,我怎么能这样做?
提前谢谢。
电贺。
答案 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()
(领带和尾随空格)的代码段:
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;
使用regex
的片段(简单所有空格):
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;