C# Regex.Split考虑字母和破折号

C# Regex.Split考虑字母和破折号,c#,regex,C#,Regex,例如,对于Regex.SplitmyString,@\W+,有什么正确的方法可以避免拆分像姓氏McMann Stringer中有破折号的名称。我需要用破折号来考虑这个名字,不要分割它。< /P> 谢谢大家! 尝试在[^\w-]上拆分。这意味着除了破折号以外,不要在单词字符上拆分。您的更新代码: Regex.Split(myString, @"[^\w-]+") 您可以从\W中减去-并用[\W-[\-]]+]进行拆分: 为什么不使用Regex.SplitmyString、@[^a-z_a-z-0

例如,对于Regex.SplitmyString,@\W+,有什么正确的方法可以避免拆分像姓氏McMann Stringer中有破折号的名称。我需要用破折号来考虑这个名字,不要分割它。< /P> 谢谢大家!

尝试在[^\w-]上拆分。这意味着除了破折号以外,不要在单词字符上拆分。您的更新代码:

Regex.Split(myString, @"[^\w-]+")
您可以从\W中减去-并用[\W-[\-]]+]进行拆分:


为什么不使用Regex.SplitmyString、@[^a-z_a-z-0_9]+或[^\w-]+?使用一个否定字符类[^\w-]+,请更新以显示预期的输出?Dantecelho标记是否正确?左边的绿色复选标记?
string[] names = Regex.Split(myString, @"[\W-[\-]]+");