我有一些文字,例如
<<<<((((sports====1000))))>>>>
或
<<<<((((sports====1000))))((((librarys====2000))))>>>>
我的问题是我已经从中获取了文本
text[0][0] = 'sports';
text[0][1] = '1000';
text[1][0] = 'library';
text[1][1] = '2000';
任何帮助将不胜感激。提前致谢。
最佳答案
您可以尝试拆分除内容之外的所有内容,然后删除数组中的空元素。
s="<<<<((((sports====1000))))((((librarys====2000))))>>>>";
s.split(/[<()>=]/).filter(function(ele){if (ele!="") return true});
=> ["sports", "1000", "librarys", "2000"]
这是一种黑客行为,因为我不知道您的文本的语法,这可能适合您,也可能不适合您。
另一个黑客:
s="<<<<((((sports====1000))))((((librarys====2000))))((((no_value====))))>>>>";
arr = s.replace("====)","====nil").
split(/[<\(\)>=]/).
filter(function(ele){if (ele!="") return true});
var res=[];
for(var i = 0; i < arr.length; i+=2) { res.push([arr[i],arr[i+1]]); }
res
=> [["sports", "1000"], ["librarys", "2000"], ["no_value", "nil"]]
关于Javascript正则表达式无法分割,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7978117/