如何用几个不同的符号分割字符串,例如.
字符串中的点-
和c#
string str = "sally-vikram.dean.sarah-ray";
但不将所有内容替换为相同的标记:
str = str.Replace("-", "."):
并以点分隔,例如:
string[] words = str.Split('.');
获得:
sally
vikram
dean
sarah
ray
答案 0 :(得分:4)
string.Split
实际上可以采用值数组:
string[] words = str.Split('.', '-');
答案 1 :(得分:1)
对于您的用例,正则表达式character class(MSDN)是一个不错的选择:
string[] words = Regex.Split(str, "[.-]");
注意:由于-
也用于定义像a-z
这样的字符范围,因此最好将-
放在字符组的末尾。否则,请逃避它,例如\-
。
如果您期望进一步的定界符和其他要求,发现正则表达式更具可读性,并且性能不是问题(Regex.Split比String.Split慢得多),这是最合适的。