swift下很多关于字符串的操作都是和String相关的Range,如果在操作字符串的时候获得的是NSRange,想要转成Range是特别麻烦的,而且相对来说Range的使用方法,很多也比较麻烦,感觉Swift在这方面不如OC的操作方便.
所以swift使用NSRange的时候我都是把String类型直接转换成NSString使用,这样就可以直接使用NSRange了.
例如在正则表达式下获取到NSRange的操作:
let str = "12345678901"
let parr = "[1-9][0-9]{4,14}"
let regex = try!NSRegularExpression(pattern: parr, options:NSRegularExpression.Options(rawValue:0))
let res = regex.firstMatch(in: str, options:NSRegularExpression.MatchingOptions(rawValue:0), range:NSMakeRange(0, str.characters.count))
print((str as NSString).substring(with: (res?.range)!))