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

如何拆分特定格式字符串并提取对应字段至不同数组

实现方案

1. 拆分记录到数组并格式化输出

首先用Split('|')方法将原字符串按竖线分割,得到单独的记录数组。如果需要输出每行一条记录的格式,用换行符拼接数组即可:

string s = "83#design point 1#nominal#376.879#17.498#1.0768#1780#0.8|84#design point 2#reduced speed and SG#376.879#17.498#1.0768#1000#0.5|85#design point 3#different point#107.68#20.19#0.672998#1780#0.8";

// 分割得到所有记录数组
string[] records = s.Split('|');

// 格式化为每行一条记录的字符串
string formattedOutput = string.Join(Environment.NewLine, records);
// 输出formattedOutput即可得到目标格式

2. 提取指定字段到不同数组

每条记录用#分割后,字段索引从0开始计数:

  • 你需要的376.879,376.879,107.68是第4个字段,对应索引3
  • 17.498,17.498,20.19是第5个字段,对应索引4

遍历每条记录,拆分后提取对应字段存入列表,最后转成数组即可:

List<string> targetField1 = new List<string>();
List<string> targetField2 = new List<string>();

foreach (var record in records)
{
    string[] fields = record.Split('#');
    // 增加字段数量校验,避免索引越界
    if (fields.Length >= 5)
    {
        targetField1.Add(fields[3]);
        targetField2.Add(fields[4]);
    }
}

// 转换为数组(按需选择)
string[] fieldArray1 = targetField1.ToArray();
string[] fieldArray2 = targetField2.ToArray();

说明

  • Split方法会按指定分隔符分割字符串,返回字符串数组
  • 索引从0开始计数,要对应好字段位置
  • 增加字段长度校验是为了避免因数据格式异常导致的索引越界错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 13:07:27