Разделить строку по разным отметкам - PullRequest
0 голосов
/ 06 июля 2018

как разбить строку на несколько разных символов, например, например, точка . и - в c# строка

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

но без замены всех на одну и ту же марку:

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

и разделить на точку, например:

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

чтобы получить:

sally
vikram
dean
sarah
ray

Ответы [ 2 ]

0 голосов
/ 06 июля 2018

Для вашего случая использования, регулярное выражение класс символов ( MSDN ) является хорошим выбором:

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

Примечание. Поскольку - также используется для определения диапазона символов, например a-z, рекомендуется ставить - в конце группы символов. В противном случае, просто избежать этого, например, \-.

Это наиболее уместно, если вы ожидали, что вам понадобятся дополнительные разделители и другие требования, вы найдете регулярное выражение более читабельным и производительность не будет проблемой (Regex.Split намного медленнее, чем эквивалент String.Split).

0 голосов
/ 06 июля 2018

string.Split может принимать массив значений:

string[] words = str.Split('.', '-');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...