繁体   English   中英

使用逗号分割字符串,但忽略双引号内的逗号 - javascript

[英]Split the string using comma but ignore the comma within double quotes - javascript

我知道,这个论坛之前已经问过这个问题 - 用逗号分割字符串,但使用 Javascript 忽略双引号内的逗号 但是我的要求略有不同,这里已经问过了。 很抱歉让您对我的问题感到困惑。

我有一个如下所示的字符串 -

myString = " "123","ABC", "ABC,DEF", "GHI" "

在这里,我想用逗号分割这个字符串并将其存储到一个数组中,但忽略双引号中的逗号。 这是我到目前为止所尝试的。

myArray.push(myString.replace(/"/g,"").split(","));

但我不确定如何忽略双引号内的“,” 有人可以帮忙吗?

这就是我的 output 的样子——

myArray = ["123","ABC", "ABC,DEF", "GHI"]

好像你已经有一个数组,所以没有逗号可以拆分。 转换它.toString()看起来像是一个不必要的步骤。

我认为您将语言语法与实际数据混淆了。 您看到的双引号不是字符串内容的一部分。 看起来您已经拥有所需的数据。

一种借助split()map()replace()的方法

 myString = ' "123","ABC", "ABC,DEF", "GHI" '; console.log(myString.split('",').map(n=>n.replace(/\"| /g,'')));

您可以尝试使用正则表达式([^"])*我在https://regex101.com上进行了测试

这是您可以在下图中看到的结果 => https://regex101.com/r/a5dwNY/1

正则表达式 101 结果

myString = ' "123","ABC", "ABC, DEF", "GHI" ';
console.log(JSON.parse(`[${myString}]`));

这应该可以解决问题……基本上是 epascarello 在对问题的评论中写的。

干杯。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM