Swift:组合两个或多个正则表达式
Swift: Combine two or more regular expressions
我正在使用两个正则表达式:
var myNumbers = numbers.text?.stringByReplacingOccurrencesOfString("[^0-9]", withString: "", options: NSStringCompareOptions.RegularExpressionSearch, range:nil)
myNumbers = myNumbers?.stringByReplacingOccurrencesOfString("^\s*$", withString: "", options: NSStringCompareOptions.RegularExpressionSearch, range:nil)
我正在删除非数字字符和空格,但有一种方法可以组合正则表达式吗?
var myNumbers = numbers.text?.stringByReplacingOccurrencesOfString("[\s\D]", withString: "", options: NSStringCompareOptions.RegularExpressionSearch, range:nil)
在 的基础上,\s
标记捕获所有白色 space(制表符、space、换行符等),并且 \D
捕获所有数字。
let regex = "[\s\D]"
var myNumbers = numbers.text?.stringByReplacingOccurrencesOfString(regex,
withString: "",
options: .RegularExpressionSearch,
range: nil)
Swift有自动枚举推断,不用写NSStringCompareOptions.RegularExpressionSearch
。您可以只写 .RegularExpressionSearch
,编译器将从函数的签名中推断出 NSStringCompareOptions
。
我正在使用两个正则表达式:
var myNumbers = numbers.text?.stringByReplacingOccurrencesOfString("[^0-9]", withString: "", options: NSStringCompareOptions.RegularExpressionSearch, range:nil)
myNumbers = myNumbers?.stringByReplacingOccurrencesOfString("^\s*$", withString: "", options: NSStringCompareOptions.RegularExpressionSearch, range:nil)
我正在删除非数字字符和空格,但有一种方法可以组合正则表达式吗?
var myNumbers = numbers.text?.stringByReplacingOccurrencesOfString("[\s\D]", withString: "", options: NSStringCompareOptions.RegularExpressionSearch, range:nil)
在 \s
标记捕获所有白色 space(制表符、space、换行符等),并且 \D
捕获所有数字。
let regex = "[\s\D]"
var myNumbers = numbers.text?.stringByReplacingOccurrencesOfString(regex,
withString: "",
options: .RegularExpressionSearch,
range: nil)
Swift有自动枚举推断,不用写NSStringCompareOptions.RegularExpressionSearch
。您可以只写 .RegularExpressionSearch
,编译器将从函数的签名中推断出 NSStringCompareOptions
。