1.先談下OC中的字符串截取
相信OC中的字符串截取很多人都已經很熟悉了
我覺得以下情況很常見,在服務器返回的數據中,想要截取一串自己想要的數據
例如以下的URL字符串中,我想截取請求參數中的username和pwd
```objc
NSString *myString = @"http://www.mynetworking.com?username=zhangsan&pwd=11520&page=xxx";
NSInteger startLocation = [myString rangeOfString:@"?"].location + 1;
NSInteger length = [myString rangeOfString:@"&" options:NSBackwardsSearch].location - startLocation;
myString = [myString substringWithRange:NSMakeRange(startLocation, length)];
NSLog(@"%@",myString);
```
以上的輸出結果就為"username=zhangsan&pwd=11520"
2.在來看看Swift中截取是怎么個方法
? ? 2.1 首先就是把Swift中的字符串轉化為OC字符串再用OC的方法操作,這里就不詳述了,這里看看Swift中的Range
? ?2.2 Swift中的利用Range截取上述
```
let myString = "http://www.mynetworking.com?username=zhangsan&pwd=11520&page=xxx";? ? ? ? ? ? ??
?let startLocation = myString.rangeOfString("?")!.endIndex? ? ??
let endLocation = myString.rangeOfString("&", options: NSStringCompareOptions.BackwardsSearch, range: nil, locale: nil)?.startIndex ??
?let range:Range = Range.init(start: startLocation, end: endLocation!)
let subString = myString.substringWithRange(range)
print(subString)
```
輸入結果和上面一致,這里主要有2個屬性,endIndex startIndex,雖然使用起來沒有OC那么直觀,但是個人認為還是非常優雅的
作者:胥鴻儒?