我的用户从另一个网站复制数据,如下所示:
粘贴时如下所示:
休斯敦(IAH)至坎昆(CUN)-7月12日,星期五
United United 1084出发:6:58 PM Arr:9:15 PM 2h 17m波音737经济(E)
坎昆(CUN)至休斯敦(IAH)-7月14日,星期日
United United 1017出发:2:00 PM Arr:4:23 PM 2h 23m波音737经济(E)
我正在解析下面复制的文本。
var arrayOfLines = document.getElementById("fltInput").value.split('\n');
var arrayOfWords = arrayOfLines[1].split(" ");
我希望
arrayOfWords[1]
是United
和arrayOfWords[2]
是1084
,但是我却得到1084 Dep:
和6:58PM Arr::
这是JsFiddle。 (滑动页面上的滑块以了解我的意思。)
显然,问题在于
.split(" ")
不会在复制的表中看到不同的单元格为空格,因此无法在期望的位置拆分文本。我该如何解决?
最佳答案
这是因为您的字符串不是用单个空格统一分隔。它们之间可能有两倍或三倍的空格。
修改后的版本分为3个空格:
http://jsfiddle.net/zT38R/6/
var arrayOfLines = document.getElementById("fltInput").value.split('\n');
console.log(arrayOfLines);
var arrayOfWords = arrayOfLines[1].split(" ");// changed here
正确格式化您的输入。
或者更好地使用基于正则表达式的数据解析。