swift下很多關(guān)于字符串的操作都是和String相關(guān)的Range,如果在操作字符串的時(shí)候獲得的是NSRange,想要轉(zhuǎn)成Range是特別麻煩的,而且相對(duì)來(lái)說(shuō)Range的使用方法,很多也比較麻煩,感覺(jué)Swift在這方面不如OC的操作方便.
所以swift使用NSRange的時(shí)候我都是把String類(lèi)型直接轉(zhuǎn)換成NSString使用,這樣就可以直接使用NSRange了.
例如在正則表達(dá)式下獲取到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)!))