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

C#调用string.Split()按反斜杠分割字符串无效如何解决

问题根因

这是基础的字符转义认知错误,整体实现思路没有问题:

  • 你已经明确数据分隔符是\r(ASCII 13,回车控制符),但代码中Split传入的参数是'\\',这个写法匹配的是字面量反斜杠字符(ASCII 92),和你需要识别的回车符完全是两个不同字符,自然无法完成分割。
  • 你之前参考的反斜杠分割相关内容和当前需求场景完全不匹配,你根本不需要分割反斜杠,属于混淆了转义写法和实际控制符的对应关系。
修正代码

直接把Split的匹配字符换成实际的回车符即可,建议同时兼容Windows系统常见的\r\n换行组合,自动过滤分割产生的空字符串项:

private void ExtractMeasurements (string Data)
{
    int TotalMeasurements = frmMain.MeasTotal;
    List<string> Measurements = new List<string>();
    // 按回车/换行分割,自动移除空条目适配不同换行格式
    Measurements.AddRange(
        Data.Split(new[] {'\r', '\n'}, StringSplitOptions.RemoveEmptyEntries)
    );

    // 拆分完成后即可将Measurements集合映射绑定到DataGridView控件展示
}
注意事项
  • C#语法中,\r本身就是单个转义字符,代表回车控制符,不需要额外叠加反斜杠;只有当你需要匹配文本里实实在在的反斜杠符号时,才需要写'\\'或者逐字字符串写法@"\"。
  • 从调试现象可以判断,原始字符串里的换行是标准控制字符,不是反斜杠+r的字面文本组合,上述修正代码可以直接拆分得到独立数据项。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 21:36:25