美文网首页
Swift中的字符串按范围截取

Swift中的字符串按范围截取

作者: 落雪无痕_t | 来源:发表于2016-07-10 22:00 被阅读1061次

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

    作者:胥鸿儒 

    相关文章

      网友评论

          本文标题:Swift中的字符串按范围截取

          本文链接:https://www.haomeiwen.com/subject/czbdjttx.html