【问题标题】:Split a List<string> on several(more than one) separators [closed]在多个(多个)分隔符上拆分 List<string> [关闭]
【发布时间】:2018-02-16 20:14:14
【问题描述】:

我知道可以在多个分隔符上拆分字符串数组。

    {
        string[] input = Console.ReadLine().Split(new[] { ',', ' ', '(', ')', ':', ';', '.', '?', '!'});
    }

但是可以像例子中的数组一样拆分列表吗?

【问题讨论】:

  • 您能否确认您所说的“但在示例中是否可以像数组一样拆分列表?” - 在示例中,您要将字符串拆分为数组,您是否只想将其转换为列表,您是否要拆分列表?
  • 我只是想知道是否可以将列表拆分为更多字符。当我使用数组时我知道如何做到这一点,所以我对使用列表时这样做很感兴趣。
  • 恐怕我仍然不太清楚您所说的“拆分列表”是什么意思。如果您想通过将字符串拆分为分隔符将其转换为列表,则可以这样做。让我知道我发布的答案是否有用
  • 请定义“拆分列表”的含义。
  • 您的示例没有“拆分字符串数组”,而是“将字符串拆分为数组”

标签: c# arrays split


【解决方案1】:

如果您希望将字符串拆分为多个字符,可以使用Regex。对于模式表达式,只需将所有字符放在括号内,如下所示:

var sampleInput = "John;Paul,George-Ringo";
var pattern = "[;,-]";
var split = Regex.Split(sampleInput, pattern);
foreach (var s in split)
{
    Console.WriteLine(s);
}

输出:

John
Paul
George
Ringo

Code on DotNetFiddle

【讨论】:

    【解决方案2】:

    根据我的 cmets,我不太确定这是否是您所追求的,但如果您确实想获取字符串列表,请尝试以下操作

    List<String> input = Console.ReadLine().Split(  ',', ' ', '(', ')', ':', ';', '.', '?', '!').ToList();
    

    【讨论】:

      猜你喜欢
      • 2017-05-05
      • 1970-01-01
      • 2019-08-21
      • 1970-01-01
      • 1970-01-01
      • 2019-07-07
      • 1970-01-01
      • 1970-01-01
      • 2021-06-23
      相关资源
      最近更新 更多