簡體   English   中英

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

[英]how do I use .split on formatted text

我的用戶從另一個網站復制數據,如下所示:

機票

粘貼時如下所示:

休斯敦(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]UnitedarrayOfWords[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

正確格式化您的輸入。 或者更好地使用基於正則表達式的數據解析。

使用以下正則表達式在任何空格上進行拆分為我解決了此問題,這要歸功於此答案

var arrayOfWords = arrayOfLines[1].split(/\s+/g);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM