首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >带空格的JavaScript拆分字符串

带空格的JavaScript拆分字符串
EN

Stack Overflow用户
提问于 2014-10-17 13:02:24
回答 8查看 213.7K关注 0票数 81

我想拆分一个字符串,但我想保留空格如下:

代码语言:javascript
复制
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";

我怎么才能继续这么做?

谢谢!

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2014-10-17 13:04:41

您可以在空格上拆分字符串,然后重新添加它,因为您知道它在每个条目之间。

代码语言:javascript
复制
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(" ");
    }
}

更新:删除尾随空间。

票数 62
EN

Stack Overflow用户

发布于 2014-10-17 13:06:12

使用regex:

代码语言:javascript
复制
var str   = "my car is red";
var stringArray = str.split(/(\s+)/);

console.log(stringArray); // ["my", " ", "car", " ", "is", " ", "red"] 

\s匹配任何作为空格的字符,添加加号使它变得贪婪,匹配以字符开头的组和以空格结尾的组,下一组在空格后面有字符时开始。

票数 114
EN

Stack Overflow用户

发布于 2016-09-21 22:36:28

对于按空格拆分字符串(如Python中的),可以使用:

代码语言:javascript
复制
var w = "hello    my brothers    ;";
w.split(/(\s+)/).filter( function(e) { return e.trim().length > 0; } );

产出:

代码语言:javascript
复制
["hello", "my", "brothers", ";"]

或类似的:

代码语言:javascript
复制
w.split(/(\s+)/).filter( e => e.trim().length > 0)

(输出部分)

票数 48
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26425637

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档