JavaScript拆分带有多个引号和不同ID的字符串[重复]

Posted

技术标签:

【中文标题】JavaScript拆分带有多个引号和不同ID的字符串[重复]【英文标题】:JavaScript splitting String with multiple quotation marks and different IDs [duplicate] 【发布时间】:2020-08-03 02:57:13 【问题描述】:

我的字符串看起来像这个,但 Id 不同。

["Id":33,"Title":"Sweden, Stockholm - Järfälla: Dienstag, 31. Januar 2017 - Mittwoch, 1. Februar 2017"]

我怎样才能将它们拆分成:

Sweden, Stockholm - Järfälla: Dienstag, 31. Januar 2017 - Mittwoch, 1. Februar 2017

我知道我可以使用\" 表示引号,但我不知道在这种情况下如何应用splitString.prototype.split 函数。

我试过了

var text = "[\"Id\":33,\"Title\":\"Sweden, Stockholm - Järfälla: Dienstag, 31. Januar 2017 - Mittwoch, 1. Februar 2017\"]".replace("[\"Id\":33,\"Title\":\"", '');


alert(text);

但这仍然会在最后留下"],此外,字符串具有不同的 ID,因此仅适用于这种情况。

提前致谢!

【问题讨论】:

你试过把字符串解析为json吗? 你可能想做一个JSON.parse 并从 Title 属性中获取字符串。 您接受了未解决原始问题的答案 - 关于拆分 @AnuragSrivastava 感谢您的通知。我把你的标记为正确 【参考方案1】:

使用JSON.parse

var text = "[\"Id\":33,\"Title\":\"Sweden, Stockholm - Järfälla: Dienstag, 31. Januar 2017 - Mittwoch, 1. Februar 2017\"]"
console.log(JSON.parse(text)[0].Title.split(","))

【讨论】:

【参考方案2】:

这只是一个 JSON 字符串,对吗?所以,不需要拆分

const x = JSON.parse('["Id":33,"Title":"Sweden, Stockholm - Järfälla: Dienstag, 31. Januar 2017 - Mittwoch, 1. Februar 2017"]');
// now x is an Array
console.log(x);
// it's first element is an Object
// and you can extract the 'Title' property
console.log(x[0].Title);
.as-console-wrapper  top: 0; max-height: 100% !important; 

【讨论】:

以上是关于JavaScript拆分带有多个引号和不同ID的字符串[重复]的主要内容,如果未能解决你的问题,请参考以下文章

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

用于 CSV 拆分的正则表达式,包括多个双引号

JavaScript将数组拆分为内部的多个数组[重复]

JavaScript重点记忆

shell脚本中单引号和双引号的区别

在带有 innerHTML 的 Javascript 中使用引号