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

如何使用TextInfo.ListSeparator替代逗号拆分CSV指定行到数组

改用TextInfo.ListSeparator处理CSV行分割的解决方案

嘿,我懂你想替换硬编码逗号、改用系统区域适配的列表分隔符来处理CSV行的需求——这确实是个更鲁棒的做法,毕竟不同地区的系统默认列表分隔符可能不一样(比如不少欧洲国家会用分号代替逗号)。

下面是修改后的完整代码,我已经把TextInfo.ListSeparator完美整合进去了:

using System.Globalization; // 记得引用这个命名空间,不然用不了TextInfo

var resultPath = GetFilePath();
string[] lines = System.IO.File.ReadAllLines(resultPath);

// 获取当前系统区域设置对应的列表分隔符
var listSeparator = CultureInfo.CurrentCulture.TextInfo.ListSeparator;
// 用该分隔符分割指定行的内容
string[] values = lines[result.LineNumber - 1].Split(new string[] { listSeparator }, StringSplitOptions.None);

几个细节说明:

  • 必须引入System.Globalization命名空间,因为TextInfo和CultureInfo都属于这个模块;
  • CultureInfo.CurrentCulture.TextInfo.ListSeparator会自动读取当前系统的默认列表分隔符,完美适配不同地区的系统设置;
  • 这里用Split的字符串数组重载版本,是为了兼容极少数分隔符为多字符的场景,比直接传单个字符更严谨;
  • 如果你的CSV存在字段包含分隔符并被引号包裹的复杂情况,单纯的Split可能会出错,但如果是结构简单的CSV,这个方案完全够用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 07:04:11