Как проверить, содержит ли строка int в определенном месте? - PullRequest
1 голос
/ 25 июня 2019

Я хочу убедиться, что папка имеет правильный формат имени, прежде чем продолжить. Код ниже демонстрирует, что я пытаюсь сделать, хотя {char.IsDigit} не работает. Я хотел бы заменить char.IsDigit чем-то, что означает «любая цифра».

if(versionName == $"Release {char.IsDigit}.{char.IsDigit}.{char.IsDigit}.{char.IsDigit}")
{
    //Do something
}

Спасибо

1 Ответ

5 голосов
/ 25 июня 2019

Вы хотите использовать Regex.IsMatch с регулярным выражением типа:

if(Regex.IsMatch(versionName, @"^Release \d\.\d\.\d\.\d$"))
{
    //Do something
}

Примечание \d просто соответствует одной цифре, если может быть больше 1 цифры

@"^Release \d+\.\d+\.\d+\.\d+$"

И все это ужесточается:

@"^Release \d+(?:\.\d+){3}$"

См. regex demo и его график :

enter image description here

...