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

ars*_*lan 4 javascript

我想解析以下字符串

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

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

类似地,以下

161944年,美国最后一位制砖厂(2001年),戏剧

应该解析为

161944

美国最后一位制砖厂(2001年)

戏剧

我不能通过逗号分割来实现,因为","中有一个逗号.

工作的解决方案: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);
Run Code Online (Sandbox Code Playgroud)

感谢LS05 :)

Mr.*_*ien 6

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

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

演示(如果您想知道上述正则表达式是如何工作的,请参阅学分)

就代码而言,我尝试将字符串分开,忽略字符串中的逗号,稍后我们再次使用新行字符连接数组项 \n

正则表达的积分