gpt4 book ai didi

javascript - node js,如何解析这样的字符串?

转载 作者:搜寻专家 更新时间:2023-11-01 05:09:42 24 4
gpt4 key购买 nike

我要解析下面的字符串

3693,"Toxic Avenger, The (1985)",Comedy|Horror

3693,
"Toxic Avenger, The (1985)",
Comedy|Horror.

类似的,下面的

161944,The Last Brickmaker in America (2001),Drama

应该解析为

161944

The Last Brickmaker in America (2001)

Drama

我不能用逗号分隔,因为“,”中有一个逗号。

有效的解决方案:LS05 建议我使用“substring”,所以我照做了,而且效果很好。在这里。

    var pos1 = line.indexOf(',');
var line = line.substring(pos1+1);

pos1 = line.indexOf(',');
pos2 = line.lastIndexOf(',');

let movie_id = line.substring(0,pos1);
let movie_tag = line.substring(pos1+1,pos2);
let movie_timespan = line.substring(pos2+1);

感谢 LS05 :)

最佳答案

您可以使用正则表达式来解析您的字符串,这将排除引号内的逗号

var str = '3693,"Toxic Avenger, The (1985)",Comedy|Horror';
console.log(str.match(/(".*?"|[^",\s]+)(?=\s*,|\s*$)/g).join("\n"));

Demo (如果您想了解上述正则表达式的工作原理,请参阅学分)

就代码而言,我尝试拆分您的字符串,忽略字符串内的逗号,稍后我们使用换行符再次加入数组项 \n

Credits for Regex

关于javascript - node js,如何解析这样的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42387632/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com