Как вы подтверждаете, что строка содержит только цифры в Swift?

Как проверить, если searchView содержит только числа?

Я нашел это:

if newText.isMatchedByRegex("^(?:|0|[1-9]\\d*)(?:\\.\\d*)?$") { ... }

но он проверяет, содержит ли текст любое число. Как я могу это сделать, если весь текст содержит только числа в Swift?

Ответ 1

Здесь вы можете получить все цифры от String.

Swift 3.0:

 let testString = "asdfsdsds12345gdssdsasdf"

 let phone = testString.components(separatedBy: CharacterSet.decimalDigits.inverted).joined(separator: "")

 print(phone)

Ответ 2

вы можете использовать "^[0-9]+$" instade "^(?:|0|[1-9]\\d*)(?:\\.\\d*)?$"

Это будет принимать одну или несколько цифр, если вы хотите принять только одну цифру, а затем удалить +

Ответ 3

Это должно работать:

func isNumeric(string: String) -> Bool
{
    let number = Int(string)
    return number != nil
}