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

如何使用Regex拆分带semi-colon的字符串并转换为目标JSON结构?

字符串转指定JSON结构的解决方案

原始输入与目标需求

输入字符串

"name;SR4;Multi-Temp;Models:C-600M;S-600DE;S-600M"

目标JSON结构

{
  "name": "SR4",
  "type": "Multi-Temp",
  "Models": 
          [
             "C-600M", 
            "S-600DE", 
             "S-600M"
          ]
}

实现方案(无需复杂正则)

不用纠结正则,直接利用字符串固定的结构特征,通过分割+简单处理就能完成转换,步骤如下:

  1. 先去除字符串首尾的引号,再按分号;分割成数组,得到:
    ["name", "SR4", "Multi-Temp", "Models:C-600M", "S-600DE", "S-600M"]
    
  2. 提取固定位置的元素:
    • 数组第2个元素(索引1)是name字段的值
    • 数组第3个元素(索引2)是type字段的值
  3. 处理Models列表:
    • 数组第4个元素(索引3)包含前缀Models:,去掉前缀后得到第一个型号
    • 数组第5、6个元素(索引4、5)直接作为后续型号,合并成列表

代码示例

JavaScript实现

const inputStr = `"name;SR4;Multi-Temp;Models:C-600M;S-600DE;S-600M"`;
// 去除首尾引号并分割
const parts = inputStr.slice(1, -1).split(';');

const result = {
  name: parts[1],
  type: parts[2],
  Models: [
    parts[3].replace('Models:', ''),
    parts[4],
    parts[5]
  ]
};

console.log(JSON.stringify(result, null, 2));

Python实现

import json

input_str = '"name;SR4;Multi-Temp;Models:C-600M;S-600DE;S-600M"'
# 去除首尾引号并分割
parts = input_str.strip('"').split(';')

result = {
    "name": parts[1],
    "type": parts[2],
    "Models": [
        parts[3].replace('Models:', ''),
        parts[4],
        parts[5]
    ]
}

print(json.dumps(result, indent=2))

注意事项

如果后续字符串结构有变动(比如字段顺序调整、型号数量变化),可以调整数组索引或循环处理后续元素,但当前固定结构下,上述方法最简单高效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 02:35:21