#c#
#c#
Вопрос:
Я хотел бы посмотреть, содержит ли строка 3 буквы 2 цифры 1 букву или число. В настоящее время это стандарт шведского номерного знака.
Можно ли посмотреть, соответствует ли строка стандарту ABC123 или ABC12D и предпочтительно в таком порядке? Как мне сделать это как можно проще?
if(theString.Length == 6)
{
if(theString.Contains(...)
{
Комментарии:
1. Если порядок имеет значение, используйте regexp. Если порядок не имеет значения, отсортируйте строку перед применением регулярного выражения.
2. Обратите внимание, что буквы I, Q и V не используются, см. шведскую Википедию .
Ответ №1:
Для этого следует использовать регулярное выражение:
Regex r = new Regex("^[A-Z]{3}[0-9]{3}$");
// ^ start of string
// [A-Z] a letter
// {3} 3 times
// [0-9] a number
// {3} 3 times
// $ end of string
string correct = "ABC123";
string wrong = "ABC12B";
Console.WriteLine(correct ": " (r.IsMatch(correct) ? "correct" : "wrong"));
Console.WriteLine(wrong ": " (r.IsMatch(wrong) ? "correct" : "wrong"));
// If last character can also be a letter:
r = new Regex("^[A-Z]{3}[0-9]{2}[0-9A-Z]$");
// ^ start of string
// [A-Z] a letter
// {3} 3 times
// [0-9A-Z] a number
// {2} 2 times
// [0-9A-Z] A letter or a number
// $ end of string
Console.WriteLine(correct ": " (r.IsMatch(correct) ? "correct" : "wrong"));
Console.WriteLine(wrong ": " (r.IsMatch(wrong) ? "correct" : "wrong"));
Комментарии:
1. Последним символом может быть цифра или буква.
2. Вот что говорится в вопросе:
contains 3 letters 2 numbers 1 letter or number
3. Jop. Неправильно понял вопрос. Изменен ответ.
4. Это новинка за год ^^
Ответ №2:
Вы могли бы решить это с помощью Regex
:
if (Regex.IsMatch(theString, @"^[A-Z]{3}d{2}(d|[A-Z])$"))
{
// matches both types of numberplates
}
Ответ №3:
Приведенный ниже код будет проверять с помощью регулярного выражения
String input="ABC123";
var result = Regex.IsMatch(input, "^[A-Z]{3}[0-9]{3}$") ||
Regex.IsMatch(input, "^[A-Z]{3}[0-9]{2}[A-Z]{1}$");
Console.WriteLine(result);
Комментарии:
1. Я бы тоже дал это в качестве ответа, если бы мог, спасибо вам!