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

如何在Javascript中将无引号UUID组成的字符串转为数组?

问题分析与解决方法

报错原因

你提供的字符串不符合JSON语法规范:

  • JSON要求字符串必须用双引号包裹,而你的字符串外层是单引号
  • 数组内的UUID属于字符串类型,必须用双引号包裹,你的字符串里没有给这些UUID加引号
    这两个问题导致JSON.parse()无法解析,直接抛出语法错误。

解决方案

方法1:修正为合法JSON后解析

先处理原始字符串,将其转换为合法JSON格式,再用JSON.parse()解析:

// 原始带外层单引号的字符串
const rawStr = "'[b426be49-0621-4240-821f-79bddf378e1e,c9e41cbb-b0d5-4833-bf72-0bf79ca31dcf]'";

// 步骤1:去掉外层的单引号
const innerStr = rawStr.slice(1, -1);
// 步骤2:给每个UUID添加双引号(匹配36位UUID格式)
const validJsonStr = innerStr.replace(/([0-9a-f-]{36})/g, '"$1"');
// 步骤3:解析为数组
const resultArr = JSON.parse(validJsonStr);

console.log(resultArr);
// 输出:["b426be49-0621-4240-821f-79bddf378e1e", "c9e41cbb-b0d5-4833-bf72-0bf79ca31dcf"]

方法2:直接分割字符串(无需JSON.parse)

如果不需要严格遵循JSON解析,也可以直接通过字符串操作提取数组元素:

const rawStr = "'[b426be49-0621-4240-821f-79bddf378e1e,c9e41cbb-b0d5-4833-bf72-0bf79ca31dcf]'";

// 去掉外层单引号和首尾的[]
const content = rawStr.slice(2, -2);
// 按逗号分割成数组
const resultArr = content.split(',');

console.log(resultArr);
// 输出:["b426be49-0621-4240-821f-79bddf378e1e", "c9e41cbb-b0d5-4833-bf72-0bf79ca31dcf"]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 03:01:21