Как вы подтверждаете, что строка содержит только числа в Swift? [дубликат]
этот вопрос уже есть ответ здесь:
Как я могу проверить, если searchView содержит только цифры?
Я нашел вот это:
if newText.isMatchedByRegex("^(?:|0|[1-9]d*)(?:.d*)?$") { ... }
но он проверяет, содержит ли текст какое-либо число. Как я могу это сделать, если весь текст содержит только номера в Swift?
3 ответов
вот решение, которое вы можете получить все цифры из String
.
Swift 3.0:
let testString = "asdfsdsds12345gdssdsasdf"
let phone = testString.components(separatedBy: CharacterSet.decimalDigits.inverted).joined(separator: "")
print(phone)
можно использовать "^[0-9]+$"
instade "^(?:|0|[1-9]\d*)(?:\.\d*)?$"
Это будет принимать одну или несколько цифр, если вы хотите принять только одну цифру, а затем удалить +
Это должно работать:
func isNumeric(string: String) -> Bool
{
let number = Int(string)
return number != nil
}