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];
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区别和联系的主要内容,如果未能解决你的问题,请参考以下文章