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

如何按多个分隔符将文本分割为List集合?

多分隔符分割字符串的C#实现

问题描述

我有如下字符串:

string text = "Ivan - George ; Josh , Mike John";

需要按-、;、 (空格)这些分隔符对文本进行分割。之前只会用单个分隔符的分割写法:

List<string> names = text.Split(" - ").ToList();

现在不知道如何实现多分隔符分割。

解决方案

C#的string.Split提供了支持多分隔符的重载,直接传入分隔符数组即可,还能按需过滤空结果:

1. 基础多分隔符分割

直接传入包含所有目标分隔符的字符串数组:

string[] separators = { " - ", " ; ", " " };
List<string> names = text.Split(separators, StringSplitOptions.None).ToList();

⚠️ 注意:如果原字符串存在连续分隔符(比如多个空格),这种写法会产生空字符串元素。

2. 过滤空结果的分割

如果不需要空字符串,添加StringSplitOptions.RemoveEmptyEntries参数即可:

string[] separators = { " - ", " ; ", " " };
List<string> names = text.Split(separators, StringSplitOptions.RemoveEmptyEntries).ToList();

执行后得到的names列表内容为:["Ivan", "George", "Josh", "Mike", "John"],完全符合需求。

额外提示

  • 分隔符的传入顺序不影响分割逻辑,Split会匹配所有传入的分隔符。
  • 本次场景中的分隔符都是普通字符串,无需使用正则表达式版本的Split,用字符串数组重载更高效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 23:15:43