Как удалить из строки все не алфавитно-цифровые символы, кроме тире? - PullRequest
541 голосов
/ 09 июля 2010

Как удалить из строки все не алфавитно-цифровые символы, кроме тире и пробелов?

Ответы [ 12 ]

1 голос
/ 13 сентября 2017

Я использую вариант одного из ответов здесь.Я хочу заменить пробелы на "-", чтобы оптимизировать его для SEO, а также использовать строчные буквы.Также не ссылка на system.web из моего уровня служб.

private string MakeUrlString(string input)
{
    var array = input.ToCharArray();

    array = Array.FindAll<char>(array, c => char.IsLetterOrDigit(c) || char.IsWhiteSpace(c) || c == '-');

    var newString = new string(array).Replace(" ", "-").ToLower();
    return newString;
}
0 голосов
/ 22 апреля 2017

Есть гораздо более простой способ с Regex.

private string FixString(string str)
{
    return string.IsNullOrEmpty(str) ? str : Regex.Replace(str, "[\\D]", "");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...