You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解析包含多个URL且部分URL含逗号的字符串?

解决包含内部逗号的带引号URL字符串转数组问题

你有如下包含多个URL的字符串:

var str = '"test.com","test2.com","test3.com/123,312","test4.com/123,312"';

直接使用split(",")会因为部分URL内部包含逗号导致拆分失效,这里提供两种可行的解决方法:

  • 正则表达式匹配法:通过正则匹配所有被双引号包裹的内容,忽略内部逗号

    var str = '"test.com","test2.com","test3.com/123,312","test4.com/123,312"';
    // 匹配所有双引号包裹的子串,再去除首尾引号
    var urls = str.match(/"[^"]*"/g).map(item => item.slice(1, -1));
    console.log(urls);
    // 输出: ["test.com", "test2.com", "test3.com/123,312", "test4.com/123,312"]
    

    说明:/"[^"]*"/g 会匹配所有以双引号开头和结尾、中间不含双引号的内容,刚好符合你的URL格式;slice(1, -1) 用来去掉每个子串首尾的双引号,比replace更简洁。

  • JSON解析法:将字符串转为合法JSON数组格式后解析

    var str = '"test.com","test2.com","test3.com/123,312","test4.com/123,312"';
    // 用方括号包裹原字符串,转为JSON数组格式
    var urls = JSON.parse(`[${str}]`);
    console.log(urls);
    // 输出: ["test.com", "test2.com", "test3.com/123,312", "test4.com/123,312"]
    

    说明:这种方法更高效简洁,只要原字符串的双引号格式正确(没有未闭合的引号),就能直接得到目标数组。

内容的提问来源于stack exchange,提问作者whitebear

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 09:05:58