首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在格式化文本上使用.split

如何在格式化文本上使用.split
EN

Stack Overflow用户
提问于 2013-07-08 07:05:49
回答 2查看 74关注 0票数 1

我的用户从另一个像这样的网站复制数据:

,它在粘贴时如下所示:

休斯敦(IAH)至坎昆(CUN) -星期五,7月12日 美联1084 Dep: 6:58PM Arr: 9:15PM 2h 17m波音737经济(英) 坎昆(CUN)至休斯敦(IAH) -太阳,7月14日 美联1017 Dep: 2:00PM Arr: 4:23PM 2h 23m波音737经济(英)

我正在解析下面的.复制的文本

代码语言:javascript
复制
var arrayOfLines = document.getElementById("fltInput").value.split('\n');
var arrayOfWords = arrayOfLines[1].split(" ");

我希望arrayOfWords[1]UnitedarrayOfWords[2]1084,但我得到的是1084 Dep:6:58PM Arr::

这是一个JsFiddle。(在页面上滑动滑块,看我的意思。)

显然,问题在于.split(" ")没有将复制表中的不同单元格视为空格,因此没有在我期望的地方拆分文本。

,我怎么才能绕过这件事?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-08 07:25:40

使用下面的regex在任何空格上拆分,就可以为我解决这个问题,多亏了这个回答

代码语言:javascript
复制
var arrayOfWords = arrayOfLines[1].split(/\s+/g);
票数 1
EN

Stack Overflow用户

发布于 2013-07-08 07:13:05

这是因为您的字符串没有用单个空格统一分隔。它们之间可能有双重或三重空间。

修改后的版本在3个空格上分裂:

http://jsfiddle.net/zT38R/6/

代码语言:javascript
复制
var arrayOfLines = document.getElementById("fltInput").value.split('\n');
 console.log(arrayOfLines);
var arrayOfWords = arrayOfLines[1].split("  ");// changed here

两种方式都可以正确设置输入格式。或者更好地使用基于regex的数据解析。

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

https://stackoverflow.com/questions/17520831

复制
相关文章

相似问题

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