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那么直观,但是个人认为还是非常优雅的

作者:胥鸿儒 

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容