Проверьте, содержит ли NSString какие-либо числа и имеет длину не менее 7 символов

Поэтому я полагаю, что для этого мне нужно выражение регулярного выражения, но мне еще не приходилось выполнять какие-либо регулярные выражения с целью c, и я не написал такого выражения в течение года.

Я думаю, что это должно быть похоже на ((? =. * [0-9]). {7,1000})

Как я могу поместить это в объективное сравнение строки c и оценить результаты?

И правильно ли мое регулярное выражение?

 pasawaya20 окт. 2012 г., 05:24
@JustSid - Я думаю, это было бы немного излишне ...
 JustSid20 окт. 2012 г., 05:12
NSRegularExpression твой друг. Хотя это не работает с простыми старыми cstrings.

Ответы на вопрос(1)

Решение Вопроса

вероятно, будет работать, есть другой подход:

NSString *str = // some string to check for at least one digit and a length of at least 7
if (str.length >= 7 && [str rangeOfCharacterFromSet:[NSCharacterSet decimalDigitCharacterSet]].location != NSNotFound) {
    // this matches the criteria
}

Этот код проверяет больше, чем просто 0-9. Он также обрабатывает цифры из других языков. Если вы действительно хотите 0-9, замените:

[NSCharacterSet decimalDigitCharacterSet]

с участием:

[NSCharacterSet characterSetWithCharactersInString:@"0123456789"];
 Nishant13 сент. 2017 г., 18:36
Как насчет десятичной точки в числах с плавающей запятой? Будет ли это справиться с этим тоже?
 Davit Siradeghyan31 мая 2015 г., 22:13
очень хорошее и короткое решение

Ваш ответ на вопрос