2011-03-30 39 views
1

所以我试图分裂在javacript一个字符串,一些看起来是这样的:如何在不使用双引号的情况下在逗号分隔文本,同时保留引号?

"foo","super,foo" 

现在,如果我用.split(",")它会变成串入含有[0]"foo" [1]"super [2]foo" 但是一个数组,我只是想拆分逗号即引号之间,如果我用.split('","'),它会变成[0]"foo [1]super,foo"

有没有一种方法可以让我分裂表达分隔符的元素,但有它保持一定的分隔符,而无需编写代码来连接的值回到字符串?

编辑:

我希望得到[0]"foo",[1]"super,foo"作为我的结果。本质上,我需要编辑某些数据的方式,我需要[0]中的内容永远不会被更改,但[1]的内容将根据其内容而变化。它会得到级联回看起来像"foo", "I WAS CHANGED"或者它确实将保持不变,如果[1],其中没有东西需要改变

+0

有什么你想从''foo','super,foo''想要的最终结果? – 2011-03-30 17:40:14

+0

是的,谢谢你的提醒添加它,汤姆 – James 2011-03-30 17:43:21

+0

对不起,你想输出相同的输入? – 2011-03-30 17:44:17

回答

5

内容试试这个:

'"foo","super,foo"'.replace('","', '"",""').split('","'); 
2

为了讨论的方便和大家发现这个页面的好处是搜索的帮助,这里是一个更灵活的解决方案:

var text = '"foo","super,foo"'; 
console.log(text.match(/"[^"]+"/g)); 

输出

['"foo"', '"super,foo"'] 

这个工程通过传递“G”(global)标志RegExp实例导致比赛来​​回报/"[^"]"/其捕获"foo,bar""foo"所有出现的数组,甚至"['foo', 'bar']""["foo", "bar"]"回报[""["", "", "", ""]""]

相关问题