用不同的标记分割字符串

时间:2018-07-05 23:40:20

标签: c# regex string split

如何用几个不同的符号分割字符串,例如.字符串中的点-c#

string str = "sally-vikram.dean.sarah-ray";

但不将所有内容替换为相同的标记:

str = str.Replace("-", "."):

并以点分隔,例如:

string[] words = str.Split('.');

获得:

sally
vikram
dean
sarah
ray

2 个答案:

答案 0 :(得分:4)

string.Split实际上可以采用值数组:

string[] words = str.Split('.', '-');

答案 1 :(得分:1)

对于您的用例,正则表达式character classMSDN)是一个不错的选择:

string[] words = Regex.Split(str, "[.-]");

注意:由于-也用于定义像a-z这样的字符范围,因此最好将-放在字符组的末尾。否则,请逃避它,例如\-

如果您期望进一步的定界符和其他要求,发现正则表达式更具可读性,并且性能不是问题(Regex.Split比String.Split慢得多),这是最合适的。