常用的可变字符串处理实例方法
NSString *newStr7 = [str6 stringByAppendingFormat:@"henan%dban",9];//可以出现格式串
NSString *newStr8 = [str6 stringByAppendingFormat:@"%@",newStr7];//可以拼接对象
NSLog(@"newStr7 = %@",newStr7);
NSLog(@"newStr8 = %@“,newStr8);
Returns the result of invoking
Returns the floating-point value of the receiver’s text as a
Returns the
Returns the floating-point value of the receiver’s text as a
Returns the
NSString 这里需要注意的是该方法的处理方式是在副本字符串上直接进行修改
1.+ stringWithFormat;
Returns a string created by using a given format string as a template into which the remaining argument values are substituted.
返回用给定的格式字符串成,其余的参数值替换模板中创建一个字符串。
+ (instancetype)stringWithFormat:(NSString *)format,, …
创建对象 :两种方式:1.便利构造器 2.alloc + 初始化的方法.
//1.便利构造器
NSString *str1 = [NSString stringWithFormat:@"iPhone%d",5];//加号方法 类
NSLog(@"str1 = %@",str1);//真实对象是堆区的指针空间
2.- initWithFormat;
NSString *str1 = [NSString stringWithFormat:@"iPhone%d",5];//加号方法 类
NSLog(@"str1 = %@",str1);//真实对象是堆区的指针空间
2.- initWithFormat;
Returns an NSString object initialized by using a given format string as a template into which the remaining argument values are substituted.
返回用给定的格式字符串成,其余的参数值替换模板初始化一个NSString对象。
- (instancetype)initWithFormat:(NSString *)format, …
//2.alloc + 初始化方法
NSString *str2 = [[NSString alloc] initWithFormat:@"iPhone%d",4];//减号方法 对象
NSLog(@"str2 = %@",str2);
NSString *str2 = [[NSString alloc] initWithFormat:@"iPhone%d",4];//减号方法 对象
NSLog(@"str2 = %@",str2);
//3.根据字符串初始化oc字符串对象
NSString *str3 = @"lanou";//存储常量字符串的地址 最终指向的是常量区
//验证地址 0x1000010d0
NSLog(@"%p",str3);
NSString *str3 = @"lanou";//存储常量字符串的地址 最终指向的是常量区
//验证地址 0x1000010d0
NSLog(@"%p",str3);
3.- length;
Returns the number of Unicode characters in the receiver.
返回的Unicode字符中的接收机的数目。
- (NSUInteger)length//需要注意 返回值为无符号整形
// 获取字符串的长度
NSUInteger length = [str1 length];
NSLog(@"%lu",length);//得到的是肉眼看到的数目.
NSUInteger length = [str1 length];
NSLog(@"%lu",length);//得到的是肉眼看到的数目.
4.-characterAtIndex;
Returns the character at a given array position.
返回字符在给定的数组位置。
- (unichar)characterAtIndex:(NSUInteger)index
//获取字符串中的字符
unichar charac = [str1 characterAtIndex:4];
NSLog(@"%c",charac);//不能越界
//reason:问题产生的原因reason: '-[__NSCFString characterAtIndex:]: Range or index out of bounds'下标越界
// 解决方案:将数组修改范围之内的数即可
5.- hasPrefix;
unichar charac = [str1 characterAtIndex:4];
NSLog(@"%c",charac);//不能越界
//reason:问题产生的原因reason: '-[__NSCFString characterAtIndex:]: Range or index out of bounds'下标越界
// 解决方案:将数组修改范围之内的数即可
5.- hasPrefix;
Returns a Boolean value that indicates whether a given string matches the beginning characters of the receiver.
返回一个布尔值,指示是否在给定的字符串相匹配的接收器的起始字符。
- (BOOL)hasPrefix:(NSString *)aString
//三部分 判断字符串是否以指定的字符串开头和结束
//例如判断一个字符串是否以http开头 以.com结束
NSString *str4 = [[NSString alloc] initWithFormat:@"http://www.translate.com"];
//1.判断是否以http开头
BOOL isPrefix = [str4 hasPrefix:@"http”];//判断是否以http开头 返回值为bool
NSString *str4 = [[NSString alloc] initWithFormat:@"http://www.translate.com"];
//1.判断是否以http开头
BOOL isPrefix = [str4 hasPrefix:@"http”];//判断是否以http开头 返回值为bool
NSLog(@"isPrefix = %d",isPrefix);
6.- hasSuffix;
Returns a Boolean value that indicates whether a given string matches the ending characters of the receiver.
返回一个布尔值,指示是否在给定的字符串相匹配的接收器的结束字符。
- (BOOL)hasSuffix:(NSString *)aString
//2.判断是否是以.com结束
BOOL isSuffix = [str4 hasSuffix:@"com"];
NSLog(@"isSuffix = %d",isSuffix);
BOOL isSuffix = [str4 hasSuffix:@"com"];
NSLog(@"isSuffix = %d",isSuffix);
7. - NSMakeRange;
Creates a new NSRange from the specified values.
从指定的值,创建一个新的NSRange。
NSRange NSMakeRange (
NSUInteger loc,
NSUInteger len
);
Return Value An NSRange
with location location and length length.
返回值一个NSRange与地点位置和长度的长度。
8. - NSStringFromRange;
Returns a string representation of a range.
返回一系列的字符串表示形式。
NSString * NSStringFromRange (
NSRange range
);
Return Value A string of the form “{a, b}”, where a and b are non-negative integers representing aRange.
返回值一个字符串形式的“{A,B}”,其中a和b是代表aRange非负整数。
//查找指定字符串的范围 NSRange结构体重新命名得到的 返回值为:range.location 和range.length 只查找有没有 而不管有几个
NSRange range = [str4 rangeOfString:@"http"];
if (range.length == 0) {
NSLog(@"没有相关的字符串");
}else{
//将NSRange 结构体类型变量直接转换成字符串对象输出
/* typedef struct _NSRange {
NSUInteger location;
NSUInteger length;
} NSRange;
*/
NSLog(@"%@",NSStringFromRange(range));//将结构体以字符串对象的形式输出
//NSLog(@"locatio = %lu,length = %lu",range.location,range.length);等价于上面的方法
}
9.-substringFromIndex;
Returns a new string containing the characters of the receiver from the one at a given index to the end.
返回包含一个接收器的角色给定的数到最后的一个新的字符串。
- (NSString *)substringFromIndex:(NSUInteger)anIndex
//字符串截取 从给定下表到结束 substringFromIndex substringToIndex substringWithRange 由于操作的是不可变的字符串 这里操作的是副本
NSString *str5 = [NSString stringWithFormat:@"lanou is a big company"];
//1.获取给定下标之后的字符串,包含指定下标对应的字符
//例如要获取company
NSString *subString1 = [str5 substringFromIndex:15];
NSLog(@"subString = %@",subString1);
NSString *str5 = [NSString stringWithFormat:@"lanou is a big company"];
//1.获取给定下标之后的字符串,包含指定下标对应的字符
//例如要获取company
NSString *subString1 = [str5 substringFromIndex:15];
NSLog(@"subString = %@",subString1);
10. - substringToIndex:
Returns a new string containing the characters of the receiver up to, but not including, the one at a given index.
返回包含接收者的角色最多,但不包括在一个给定的索引处一个新的字符串。
- (NSString *)substringToIndex:(NSUInteger)anIndex
//2.获取给定下标之前的字符串,不包含指定下标对应的字符 空格也可以 如:lanou
NSString *subString2 = [str5 substringToIndex:5];
NSLog(@"subString = %@",subString2);
NSString *subString2 = [str5 substringToIndex:5];
NSLog(@"subString = %@",subString2);
11.substringWithRange:
Returns a string object containing the characters of the receiver that lie within a given range.
返回包含一个给定的范围内,接收器的字符组成的字符串对象。
- (NSString *)substringWithRange:(NSRange)aRange
//3.获取制定一个范围的字符串 substringWithRange
//例如获取:lanou 利用NSMakeRange(0, 5)
NSString *subString3 = [str5 substringWithRange:NSMakeRange(0, 5)];
NSLog(@"subString3 = %@",subString3);
//例如获取:lanou 利用NSMakeRange(0, 5)
NSString *subString3 = [str5 substringWithRange:NSMakeRange(0, 5)];
NSLog(@"subString3 = %@",subString3);
12. - stringByAppendingString:
Returns a new string made by appending a given string to the receiver.
返回由附加一个给定的字符串到接收器做了一个新的字符串。
- (NSString *)stringByAppendingString:(NSString *)aString
//字符串拼接 stringByAppendingFormat stringByAppendingString
NSString *str6 = [NSString stringWithFormat:@"lanou"];
//lanou 后拼接 henan
NSString *newStr6 = [str6 stringByAppendingString:@"henan"];//不可以出现格式串
NSLog(@"newStr6 = %@",newStr6);
NSString *str6 = [NSString stringWithFormat:@"lanou"];
//lanou 后拼接 henan
NSString *newStr6 = [str6 stringByAppendingString:@"henan"];//不可以出现格式串
NSLog(@"newStr6 = %@",newStr6);
13. - stringByAppendingFormat:
Returns a string made by appending to the receiver a string constructed from a given format string and the following arguments.
返回由附加到接收器从给定格式字符串和下面的参数构造一个字符串做了一个字符串。
- (NSString *)stringByAppendingFormat:(NSString *)format, …
//lanou 后拼接 henan9banNSString *newStr7 = [str6 stringByAppendingFormat:@"henan%dban",9];//可以出现格式串
NSString *newStr8 = [str6 stringByAppendingFormat:@"%@",newStr7];//可以拼接对象
NSLog(@"newStr7 = %@",newStr7);
NSLog(@"newStr8 = %@“,newStr8);
14. - stringByReplacingOccurrencesOfString:withString:
Returns a new string in which all occurrences of a target string in the receiver are replaced by another given string.
- (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target withString:(NSString *)replacement
15. - stringByReplacingCharactersInRange:withString:
Returns a new string in which the characters in a specified range of the receiver are replaced by a given string.
- (NSString *)stringByReplacingCharactersInRange:(NSRange)range withString:(NSString *)replacement
//替换字符串
NSString *str8 = [NSString stringWithFormat:@"lan ouououououououou isabigcompany"];
//(1)将ou替换成牛逼
NSString *newStr9 = [str8 stringByReplacingOccurrencesOfString:@"ou"withString:@"牛逼"]; //换掉谁谁在前 换上谁 谁在前
NSLog(@"newStr8 = %@",newStr9);
//2.只将第一个ou换成牛逼 如果替换两个 就写两次 牛逼
NSString *newStr10 = [str8 stringByReplacingCharactersInRange:NSMakeRange(4, 2) withString:@"牛逼"];
NSLog(@"%@",newStr10);
NSString *str8 = [NSString stringWithFormat:@"lan ouououououououou isabigcompany"];
//(1)将ou替换成牛逼
NSString *newStr9 = [str8 stringByReplacingOccurrencesOfString:@"ou"withString:@"牛逼"]; //换掉谁谁在前 换上谁 谁在前
NSLog(@"newStr8 = %@",newStr9);
//2.只将第一个ou换成牛逼 如果替换两个 就写两次 牛逼
NSString *newStr10 = [str8 stringByReplacingCharactersInRange:NSMakeRange(4, 2) withString:@"牛逼"];
NSLog(@"%@",newStr10);
这里需要注意的是 一个字符只能替换一个字符 不能多对一 也不能一对多
16. - NSComparisonResult
These constants are used to indicate how items in a request are ordered.
enum {
NSOrderedAscending = -1,
NSOrderedSame,
NSOrderedDescending
};
typedef NSInteger NSComparisonResult;
17. -compare:
Returns the result of invoking compare:options:range:
with no options and the receiver’s full extent as the range.
- (NSComparisonResult)compare:(NSString *)aString
//字符串比较 返回值为 枚举类型
/**
* enum {
NSOrderedAscending = -1, //升序 返回-1
NSOrderedSame,// 相同 返回0
NSOrderedDescending// 降序 返回1
};
typedef NSInteger NSComparisonResult;
*/
NSComparisonResult result = [@"111" compare:@"222"];//前一个比后一个小 升序返回 -1
NSLog(@"%ld",result);
/**
* enum {
NSOrderedAscending = -1, //升序 返回-1
NSOrderedSame,// 相同 返回0
NSOrderedDescending// 降序 返回1
};
typedef NSInteger NSComparisonResult;
*/
NSComparisonResult result = [@"111" compare:@"222"];//前一个比后一个小 升序返回 -1
NSLog(@"%ld",result);
18. - intValue
Returns the integer value of the receiver’s text.
- (int)intValue
19. - floatValue
Returns the floating-point value of the receiver’s text as a float
.
- (float)floatValue
20. - integerValue
Returns the NSInteger
value of the receiver’s text.
- (NSInteger)integerValue
21. - doubleValue
Returns the floating-point value of the receiver’s text as a double
.
- (double)doubleValue
22. - longLongValue
Returns the long long
value of the receiver’s text.
- (long long)longLongValue
//11.字符串和数值类型转换
//1.将字符串 @"123"转换成整数123
int value1 = [@"123"intValue];//从第一个字符开始读 如果遇到除空格之外的字符时,将前面的空格忽略掉继续往下找,读取数字,知道遇到非数字.
NSLog(@"%d",value1);
float value2 = [@"123"floatValue];
NSLog(@"%f",value2);
//12.将数字转为字符串对象
NSString *str12 = [NSString stringWithFormat:@"%f",5.2];//将5.2转换为字符串对象
//1.将字符串 @"123"转换成整数123
int value1 = [@"123"intValue];//从第一个字符开始读 如果遇到除空格之外的字符时,将前面的空格忽略掉继续往下找,读取数字,知道遇到非数字.
NSLog(@"%d",value1);
float value2 = [@"123"floatValue];
NSLog(@"%f",value2);
//12.将数字转为字符串对象
NSString *str12 = [NSString stringWithFormat:@"%f",5.2];//将5.2转换为字符串对象
23. - uppercaseString
Returns a uppercased representation of the receiver.
- (NSString *)uppercaseString
24. - lowercaseString
Returns lowercased representation of the receiver.
- (NSString *)lowercaseString
25. - capitalizedString
Returns a capitalized representation of the receiver.
- (NSString *)capitalizedString
//字符串大小写转换
//1.将@"lan OU"全部转换成大写
NSString *upperString = [@"lan ghasgda HGASIDHH JHFWIEFH J OU" uppercaseString];
NSLog(@"upperString = %@",upperString);
//2.将@"lan OU"全部转换成小写
NSString *lowerString = [@"lan SJA Hjknjkjnkdj sdjkjsd OU" lowercaseString];
NSLog(@"lowerString = %@",lowerString);
//2.将@"lan OU"首转换成大写
NSString *capitilizedString = [@"lan bdfh bsdjksbajf jksdbfjkwdbfjk OU" capitalizedString];
NSLog(@"capitilizedString = %@",capitilizedString);
//1.将@"lan OU"全部转换成大写
NSString *upperString = [@"lan ghasgda HGASIDHH JHFWIEFH J OU" uppercaseString];
NSLog(@"upperString = %@",upperString);
//2.将@"lan OU"全部转换成小写
NSString *lowerString = [@"lan SJA Hjknjkjnkdj sdjkjsd OU" lowercaseString];
NSLog(@"lowerString = %@",lowerString);
//2.将@"lan OU"首转换成大写
NSString *capitilizedString = [@"lan bdfh bsdjksbajf jksdbfjkwdbfjk OU" capitalizedString];
NSLog(@"capitilizedString = %@",capitilizedString);
下面为上述例子的输出结果:
2014-08-06 20:45:34.709 LessonNSString[5696:303] str1 = iPhone5
2014-08-06 20:45:34.729 LessonNSString[5696:303] str2 = iPhone4
2014-08-06 20:45:34.729 LessonNSString[5696:303] 0x100002178
2014-08-06 20:45:34.730 LessonNSString[5696:303] 7
2014-08-06 20:45:34.730 LessonNSString[5696:303] n
2014-08-06 20:45:34.730 LessonNSString[5696:303] isPrefix = 1
2014-08-06 20:45:34.731 LessonNSString[5696:303] isSuffix = 1
2014-08-06 20:45:34.731 LessonNSString[5696:303] {0, 4}
2014-08-06 20:45:34.732 LessonNSString[5696:303] subString = company
2014-08-06 20:45:34.732 LessonNSString[5696:303] subString = lanou
2014-08-06 20:45:34.733 LessonNSString[5696:303] subString3 = lanou
2014-08-06 20:45:34.733 LessonNSString[5696:303] newStr6 = lanouhenan
2014-08-06 20:45:34.734 LessonNSString[5696:303] newStr7 = lanouhenan9ban
2014-08-06 20:45:34.734 LessonNSString[5696:303] newStr8 = lanoulanouhenan9ban
2014-08-06 20:45:34.734 LessonNSString[5696:303] newStr8 = lan 牛逼牛逼牛逼牛逼牛逼牛逼牛逼牛逼 isabigcompany
2014-08-06 20:45:34.735 LessonNSString[5696:303] lan 牛逼ououououououou isabigcompany
2014-08-06 20:45:34.738 LessonNSString[5696:303] -1
2014-08-06 20:45:34.738 LessonNSString[5696:303] 123
2014-08-06 20:45:34.739 LessonNSString[5696:303] 123.000000
2014-08-06 20:45:34.739 LessonNSString[5696:303] upperString = LAN GHASGDA HGASIDHH JHFWIEFH J OU
2014-08-06 20:45:34.739 LessonNSString[5696:303] lowerString = lan sja hjknjkjnkdj sdjkjsd ou
2014-08-06 20:45:34.740 LessonNSString[5696:303] capitilizedString = Lan Bdfh Bsdjksbajf Jksdbfjkwdbfjk Ou
2014-08-06 20:45:34.729 LessonNSString[5696:303] str2 = iPhone4
2014-08-06 20:45:34.729 LessonNSString[5696:303] 0x100002178
2014-08-06 20:45:34.730 LessonNSString[5696:303] 7
2014-08-06 20:45:34.730 LessonNSString[5696:303] n
2014-08-06 20:45:34.730 LessonNSString[5696:303] isPrefix = 1
2014-08-06 20:45:34.731 LessonNSString[5696:303] isSuffix = 1
2014-08-06 20:45:34.731 LessonNSString[5696:303] {0, 4}
2014-08-06 20:45:34.732 LessonNSString[5696:303] subString = company
2014-08-06 20:45:34.732 LessonNSString[5696:303] subString = lanou
2014-08-06 20:45:34.733 LessonNSString[5696:303] subString3 = lanou
2014-08-06 20:45:34.733 LessonNSString[5696:303] newStr6 = lanouhenan
2014-08-06 20:45:34.734 LessonNSString[5696:303] newStr7 = lanouhenan9ban
2014-08-06 20:45:34.734 LessonNSString[5696:303] newStr8 = lanoulanouhenan9ban
2014-08-06 20:45:34.734 LessonNSString[5696:303] newStr8 = lan 牛逼牛逼牛逼牛逼牛逼牛逼牛逼牛逼 isabigcompany
2014-08-06 20:45:34.735 LessonNSString[5696:303] lan 牛逼ououououououou isabigcompany
2014-08-06 20:45:34.738 LessonNSString[5696:303] -1
2014-08-06 20:45:34.738 LessonNSString[5696:303] 123
2014-08-06 20:45:34.739 LessonNSString[5696:303] 123.000000
2014-08-06 20:45:34.739 LessonNSString[5696:303] upperString = LAN GHASGDA HGASIDHH JHFWIEFH J OU
2014-08-06 20:45:34.739 LessonNSString[5696:303] lowerString = lan sja hjknjkjnkdj sdjkjsd ou
2014-08-06 20:45:34.740 LessonNSString[5696:303] capitilizedString = Lan Bdfh Bsdjksbajf Jksdbfjkwdbfjk Ou