Swift中的字符串按范圍截取

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那么直觀,但是個人認為還是非常優雅的

作者:胥鴻儒?

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容