1. 创建字符串
stringWithFormat方法就是通过格式字符串和参数来创建NSString的。
+(id)stringWithFormat:(NSString *)format,…;
例如:
- <span style="font-size:14px;">NSString *height;
- height = [NSString stringWithFormat:@"Your height is %d feet,%d inches",5,11];
- NSLog(@"%@",height);
- </span>
srringWithFormat:中开始的“+”表示Objective-C运行生成一个类的时候,创建一个代表该类的类对象;最后的“...”表示这个方法可以接受多个以逗号隔开的其他参数。
2.字符串的大小
NSString中另一个方便的实例是length,它返回的是字符串中字符的个数。
-(unsigned) length;
也可以:unsigned int length = [height length];
3.字符串的比较
(1)isEqualToString:可以用来比较接收方(接收消息的对象)和当作参数传递来的字符串。返回一个BOOL(YES或NO)型数据来表示两个字符串的内容是否相同。声明:
- (BOOL)isEqualToString:(NSString *)aString;
使用方法:
- <span style="font-size:14px;">NSString *thing1 = @"hello 5";
- NSString *thing2;
- //格式化创建字符串
- thing2 = [NSString stringWithFormat:@"hello %d",5];
- if ([thing1 isEqualToString:thing2])
- {
- NSLog(@"They are the same!");
- }</span>
(2)compare:将接收对象和传递来的字符串逐个字符地进行比较,它返回一个NSComparisonResult来显示比较结果:
- <span style="font-size:14px;">typedef enum _NSComparisonResult
- {
- NSOrderedAscending = -1,
- NSOrderedSame,
- NSOrderedDescending,
- }NSComparisonResult;</span>
例如:
[@"aardvark"compare:@"zygote"]将会返回NSOrderedAscending。(3)判断字符串内是否包含别的字符串
检查字符串是否以另一个字符串开头
-(BOOL)hasPrefix:(NSString *)aString
检查字符串是否以另一个字符串结尾
-(BOOL)hasSuffix:(NSString *)aString
检查字符串内某处是否包含其他字符串
-(NSRange) rangeOfString:(NSString *)aString
使用方法:
- <span style="font-size:14px;">NSString * filename = @"draft-chapter.pages";
- if ([filename hasPrefix:@"draft"])
- {
- //This is a draft.
- }
- if ([filename hasSuffix:@".mov"])
- {
- //This si a movie.
- }
- NSRange range;
- range = [filename rangeOfString:@"chapter"];</span>
将rangeOfString:发送给一个NSString对象时,传递的参数是要查找的字符串。返回一个NSRange struct来告诉你与字符串相匹配的部分在哪儿以及匹配上的字符个数。
4.基本数据类型与字符串
(1)数据类型转字符类型
- <span style="font-size:14px;">NSString * str;
- str = [[NSString alloc] initWithFormat:@"%d",56];
- NSLog(@"%@",str);</span>
输出字符“56”。
(2)字符类型转数据类型
- <span style="font-size:14px;">NSString *str7 = [NSString stringWithFormat:@"%d",56];
- int num7 = [str7 intValue]; //字符串转整型
- NSLog(@"num7+1 =%d",num7+1);</span>
输出数据“56+1”=“57”。
5.字符串转换为数组
-(NSArray *)componentsSeparatedByString:(NSString *)separator最后为分隔符
- <span style="font-size:14px;">NSString *str6 = [[NSString alloc] initWithFormat:@"a_b_cd_e"];
- //字符串转换 ======>> 数组
- NSArray *array = [str6 componentsSeparatedByString:@"_"];
- for(int i =0;i<[array count];i++)
- NSLog(@"%@",array[i]);//[array objectAtIndex:i]);</span>
输出单个字符或字符串:a,b,cd,e。
6.字符串截取
- <span style="font-size:14px;">NSString *str6 = [[NSString alloc] initWithFormat:@"abcdefg"];
- //字符串截取 abcdefg
- NSLog(@"substring to 2 :%@",[str substringToIndex:5]);
- NSLog(@"substring to 2 :%@",[str substringFromIndex:5]);
-
- //取某一个范围的字符串
- NSRange rang;
- rang.length = 4;
- rang.location = 2; //截取的时候,包含起始位置
- NSLog(@"substring to 2 :%@",[str substringWithRange:rang]);
- </span>
输出内容为:abcde ,fg , cdef 。
7.可变字符串创建、插入
- <span style="font-size:14px;">//可变长度的字符串
- NSMutableString *mutableStr = [NSMutableString stringWithString:@"爱大米"];
-
- //动态的插入内容
- [mutableStr insertString:@"老鼠" atIndex:0];
-
- NSLog(@"mubableStr:%@",mutableStr);
- </span>
输出内容为:老鼠爱大米。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。