1
Это старая функция, которая не работает на Xcode 7 Beta 5:"stringsMatchingRegularExpression" устарел в Swift 2, что я должен использовать вместо этого?
func onlyDoubleUse(textField: AnyObject){
let field = textField.object! as! UITextField
let subStringArray: [String]?
do {
subStringArray = try field.text!.stringsMatchingRegularExpression(expression: "[0-9]{1,}.[0-9]{1,}|[0-9]{1,}")
} catch _ {
subStringArray = nil
}
if(subStringArray?[0] != nil){
field.text = subStringArray![0]
}else{
field.text = ""
}
}
компании Apple удалила stringsMatchingRegularExpression
в Swift 2.
Как это исправить?
Я установил его на своем пути в настоящее время он работает, но я не могу использовать «» - dot for double 'let subStringArray = field.text! .stringsMatchingRegularExpression (" [0-9] {1,}. [0-9] {1,} | [0-9] {1,} ") if (subStringArray.count> 0) { если (subStringArray [0]! = "") { field.text = subStringArray [0] } еще { field.text = "" } } еще { поле. text = "" } ' –
@BogdanBogdanov Я не знаю, что вы подразумеваете под« Я не могу использовать ».« - точка для двойника ». Но точка («.») В вашем regrex должна быть заменена на «\\». так как это нормальная строка «.». Другой будет соответствовать любому персонажу. Regrex: «[0-9] {1,} \\. [0-9] {1,} | [0-9] {1,}". Улучшенный regrex, который делает то же самое: «\\ d + (\\. \\ d +)?" – Qbyte
Когда я запускаю это на iPad Air 2 Simulator и перехожу в это поле, я могу использовать только цифры 0-9, но я не могу набрать 36.6 «.». не может быть введено на поле. Я попытался с вашим регулярным выражением, результат тот же, что и не использовать точку ... –