Если вам нужно удалить любой символ, который не является буквенно-цифровым, вы можете использовать IsLetterOrDigit
в паре с Where
для прохождения каждого символа. И поскольку мы работаем на уровне char
, нам понадобится немного Concat
в конце, чтобы вернуть все обратно в string
.
string result = string.Concat(input.Where(char.IsLetterOrDigit));
, который вы можете легко конвертировать в метод расширения
public static class Extensions
{
public static string ToAlphaNum(this string input)
{
return string.Concat(input.Where(char.IsLetterOrDigit));
}
}
, который вы можете использовать следующим образом:
string testString = "#!@!\"(test123)\"";
string result = testString.ToAlphaNum(); //test123
Примечание: это приведет к удалению каждого не алфавитно-цифрового символа из вашей строки, если вам действительно нужно удалите только тех, кто находится в начале / конце, добавьте более подробную информацию о том, что определяет начало или конец и добавьте больше примеров.