У меня есть входная строка, и я хочу убедиться, что она содержит:
- Только буквы или
- Только буквы и цифры или
- Только буквы, цифры или подчеркивание
Чтобы уточнить, у меня есть 3 разных случая в коде, каждый из которых требует различной проверки. Какой самый простой способ добиться этого в C #?
источник
Regex
раза быстрее, чем скомпилированоRegex
для всех букв , и в 3 раза быстрее, чем скомпилировано для всех букв сIgnoreCase
параметром (!).Только буквы:
Буквы и цифры:
Буквы, цифры и подчеркивание:
Обратите внимание, что эти шаблоны также соответствуют международным символам (в отличие от использования
a-z
конструкции).источник
Для тех из вас, кто предпочел бы не использовать Regex и использовать .NET 2.0 Framework (AKA no LINQ):
Только буквы:
Только номера:
Только цифры или буквы:
Только цифры или буквы или знаки подчеркивания:
источник
Я думаю, что это хороший случай, чтобы использовать регулярные выражения:
источник
Вы можете зациклить символы строки и проверить с помощью метода Char IsLetter, но вы также можете сделать трюк с помощью метода String IndexOfAny для поиска других символов, которые не должны присутствовать в строке.
источник
Итерируйте по строкам символов и используйте функции Char, называемые IsLetter и IsDigit.
Если вам нужно что-то более конкретное - используйте класс Regex.
источник
Если вы новичок, то вы можете взять ссылку из моего кода ... что я сделал, чтобы поставить чек, чтобы я мог получить только алфавиты и пробелы! Вы можете повторить цикл for после второго оператора if, чтобы снова проверить строку
источник
Недавно я сделал улучшения производительности для функции, которая проверяет буквы в строке с помощью этой страницы.
Я понял, что решения с регулярным выражением в 30 раз медленнее, чем решения с проверкой Char.IsLetterOrDigit.
Мы не были уверены, что эти буквы или цифры включают в себя, и нам были нужны только латинские символы, поэтому мы реализовали нашу функцию на основе декомпилированной версии функции Char.IsLetterOrDigit.
Вот наше решение:
И использование так:
источник
Пожалуйста, найдите способ проверить, является ли символ буквой, цифрой или пробелом, в противном случае добавьте подчеркивание (будьте свободны для изменения в соответствии с вашими потребностями)
источник