NSMakeRange,substringWithRange,substringToIndex,substringFromIndex区别和联系

Posted 李洪强

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NSMakeRange,substringWithRange,substringToIndex,substringFromIndex区别和联系相关的知识,希望对你有一定的参考价值。

 

 
typedef NSRange *NSRangePointer;

NS_INLINE NSRange NSMakeRange(NSUInteger loc, NSUInteger len) {
    NSRange r;
    r.location = loc;
    r.length = len;
    return r;
}
NSMakeRange是一个结构体类型,包含两个参数,位置和长度。表示字符串要传进来从哪里开始的位置和需要的长度。

substringWithRange需要传进来NSRange类型,表示从哪里开始截取和长度,返回字符串类型。例如,        NSString *bankCardString = [respDict objectForKey:kQFTrackData];
        NSRange bankRang = NSMakeRange(0, 3);
        NSString *bankStr1 = [bankCardString substringWithRange:bankRang];

substringToIndex表示从第一个字符串开始截取,到指定长度位置,但是不包括该指定位置位置字符串,例如        NSString *balanceDateString = [respDict objectForKey:kQFTime];
        NSString *ymdString = [balanceDateString substringToIndex:10];
        //再从已有字符串中截取
        //年
        NSString *yearStr = [ymdString substringToIndex:4];

substringFromIndex表示从指定位置开始截取字符串到最后,所截取位置包含该指定位置。

        NSRange monthRang = NSMakeRange(5, 2);
        NSString *monthStr = [ymdString substringWithRange:monthRang];
        //日
        NSString *dayStr = [ymdString substringFromIndex:8];

以上是关于NSMakeRange,substringWithRange,substringToIndex,substringFromIndex区别和联系的主要内容,如果未能解决你的问题,请参考以下文章

自动释放 NSString

如何解析 NSString

数组拼接

UITextView笔记

禁止输入表情的方法

按范围清除数组