我想拆分一个字符串,但我想保留空格如下:
var str = "my car is red";
var stringArray [];
stringArray [0] = "my";
stringArray [1] = " ";
stringArray [2] = "car";
stringArray [3] = " ";
stringArray [4] = "is";
stringArray [5] = " ";
stringArray [6] = "red";我怎么才能继续这么做?
谢谢!
发布于 2014-10-17 13:04:41
您可以在空格上拆分字符串,然后重新添加它,因为您知道它在每个条目之间。
var string = "text to split";
string = string.split(" ");
var stringArray = new Array();
for(var i =0; i < string.length; i++){
stringArray.push(string[i]);
if(i != string.length-1){
stringArray.push(" ");
}
}更新:删除尾随空间。
发布于 2014-10-17 13:06:12
使用regex:
var str = "my car is red";
var stringArray = str.split(/(\s+)/);
console.log(stringArray); // ["my", " ", "car", " ", "is", " ", "red"] \s匹配任何作为空格的字符,添加加号使它变得贪婪,匹配以字符开头的组和以空格结尾的组,下一组在空格后面有字符时开始。
发布于 2016-09-21 22:36:28
对于按空格拆分字符串(如Python中的),可以使用:
var w = "hello my brothers ;";
w.split(/(\s+)/).filter( function(e) { return e.trim().length > 0; } );产出:
["hello", "my", "brothers", ";"]或类似的:
w.split(/(\s+)/).filter( e => e.trim().length > 0)(输出部分)
https://stackoverflow.com/questions/26425637
复制相似问题