我有一个看起来像这样的字符串
"a,b,c,"Mozilla/5.0,(compatible;,MSIE,9.0;,Windows,NT,6.1;,Trident/5.0)",d,e"
Run Code Online (Sandbox Code Playgroud)
我试图用","拆分这个字符串,并获取个别值.现在,它的作用是,它分割部分"Mozilla/5.0,(兼容;,MSIE,9.0;,Windows,NT,6.1;,Trident/5.0)",我也得到了这个作为最终结果
["a", "b", "c", ""Mozilla/5.0", "(compatible;", "MSIE", "9.0;", "Windows", "NT", "6.1;", "Trident/5.0)"", "d", "e"]
Run Code Online (Sandbox Code Playgroud)
有没有办法让它不拆分子串?基本上我试图在拆分后得到这个
["a", "b", "c", "Mozilla/5.0,(compatible;,MSIE,9.0;,Windows,NT,6.1;,Trident/5.0)", "d", "e"]
Run Code Online (Sandbox Code Playgroud)
您可以使用正则表达式,并对非"字符使用负前瞻,后跟结尾",,这表示当前逗号位于带引号的字符串中:
const str = `a,b,c,"Mozilla/5.0,(compatible;,MSIE,9.0;,Windows,NT,6.1;,Trident/5.0)",d,e,"foo,bar,quoted",f,g`;
console.log(str.split(/,(?![^"]+",)/))Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
45 次 |
| 最近记录: |