【问题标题】:Regex.Split considering letters and dashes [duplicate]Regex.Split 考虑字母和破折号[重复]
【发布时间】:2019-11-01 13:19:29
【问题描述】:

例如Regex.Split(myString, @"\W+")避免拆分名称中包含破折号 ("-") 的正确方法是什么,例如姓氏 "McMann-Stringer"。我需要考虑带有破折号的名称而不是拆分它。

谢谢!

【问题讨论】:

  • 为什么不Regex.Split(myString, @"[^a-z_A-Z-0_9]+"[^\w-]+
  • 使用否定字符类[^\w-]+
  • 能否更新以显示预期输出?

标签: c# regex


【解决方案1】:

尝试在[^\w-] 上拆分。这表示要拆分非单词字符,except 表示破折号。您更新的代码:

Regex.Split(myString, @"[^\w-]+")

【讨论】:

    【解决方案2】:

    您可以从\W减去 - 并除以[\W-[\-]]+

    string[] names = Regex.Split(myString, @"[\W-[\-]]+");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-05-01
      • 2011-08-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-27
      相关资源
      最近更新 更多