1.先談下OC中的字符串截取
相信OC中的字符串截取很多人都已經(jīng)很熟悉了
我覺得以下情況很常見,在服務(wù)器返回的數(shù)據(jù)中,想要截取一串自己想要的數(shù)據(jù)
例如以下的URL字符串中,我想截取請求參數(shù)中的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);
```
以上的輸出結(jié)果就為"username=zhangsan&pwd=11520"
2.在來看看Swift中截取是怎么個方法
? ? 2.1 首先就是把Swift中的字符串轉(zhuǎn)化為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)
```
輸入結(jié)果和上面一致,這里主要有2個屬性,endIndex startIndex,雖然使用起來沒有OC那么直觀,但是個人認(rèn)為還是非常優(yōu)雅的
作者:胥鴻儒?