я работаю над заданием для школы:Как проверить, что строка содержит только определенные символы
Я прошел строку в мутатором и мне нужно, чтобы подтвердить, что он содержит только пробелы, дефисы или верхний и нижний буквенные обозначения.
Выход всегда «".
Вы видите, что я делаю неправильно? Есть ли более разумный способ сделать это? Я получил этот путь от моего инструктора, но не работал. Вот мой код:
public void setFirstName(string newFirstName
{
bool valid;
valid = System.Text.RegularExpressions.Regex.IsMatch(newFirstName, "^[- a-zA-Z]?$");
if (valid)
{
firstName = newFirstName;
}
firstName = " ";
}
Вам нужно обернуть свой 'firstName =" "' в ветку 'else'. –
'firstName =" ";' всегда выполняется, каков бы ни был результат 'valid'? – chouaib
В регулярном выражении '?' Означает «ноль или один». Вы имели в виду '*', что означает «нуль или любое число» (или, возможно, '+', что означает хотя бы один раз). – Blorgbeard