猿问

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

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

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

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

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

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

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

这就是我的输出应该是什么样子 -

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


月关宝盒
浏览 308回答 4
4回答

慕少森

好像你已经有一个数组,所以没有逗号可以拆分。转换它.toString()看起来是一个不必要的步骤。我认为您将语言语法与实际数据混淆了。您看到的双引号不是字符串内容的一部分。看起来您已经拥有所需的数据。

鸿蒙传说

您可以尝试使用([^"])* 我在https://regex101.com上测试过的正则表达式这是您可以在下图中看到的结果 => https://regex101.com/r/a5dwNY/1

犯罪嫌疑人X

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

catspeake

myString = ' "123","ABC", "ABC, DEF", "GHI" ';console.log(JSON.parse(`[${myString}]`));这应该可以解决问题……基本上是 epascarello 在对问题的评论中写的。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答