1. 创建字符串
stringWithFormat方法就是通过格式字符串和参数来创建NSString的。
+(id)stringWithFormat:(NSString *)format,…;
例如:
NSString *height;
height = [NSString stringWithFormat:@"Your height is %d feet,%d inches",5,11];
NSLog(@"%@",height);
srringWithFormat:中开始的“+”表示Objective-C运行生成一个类的时候,创建一个代表该类的类对象;最后的“...”表示这个方法可以接受多个以逗号隔开的其他参数。
2.字符串的大小
NSString中另一个方便的实例是length,它返回的是字符串中字符的个数。
-(unsigned) length;
也可以:unsigned int length = [height length];
3.字符串的比较
(1)isEqualToString:可以用来比较接收方(接收消息的对象)和当作参数传递来的字符串。返回一个BOOL(YES或NO)型数据来表示两个字符串的内容是否相同。声明:
- (BOOL)isEqualToString:(NSString *)aString;
使用方法:
NSString *thing1 = @"hello 5";
NSString *thing2;
//格式化创建字符串
thing2 = [NSString stringWithFormat:@"hello %d",5];
if ([thing1 isEqualToString:thing2])
{
NSLog(@"They are the same!");
}
(2)compare:将接收对象和传递来的字符串逐个字符地进行比较,它返回一个NSComparisonResult来显示比较结果:
typedef enum _NSComparisonResult
{
NSOrderedAscending = -1,
NSOrderedSame,
NSOrderedDescending,
}NSComparisonResult;
例如:[@"aardvark"compare:@"zygote"]将会返回NSOrderedAscending。
(3)判断字符串内是否包含别的字符串
检查字符串是否以另一个字符串开头
-(BOOL)hasPrefix:(NSString *)aString
检查字符串是否以另一个字符串结尾
-(BOOL)hasSuffix:(NSString *)aString
检查字符串内某处是否包含其他字符串
-(NSRange) rangeOfString:(NSString *)aString
使用方法:
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"];
将rangeOfString:发送给一个NSString对象时,传递的参数是要查找的字符串。返回一个NSRange struct来告诉你与字符串相匹配的部分在哪儿以及匹配上的字符个数。4.基本数据类型与字符串
(1)数据类型转字符类型
NSString * str;
str = [[NSString alloc] initWithFormat:@"%d",56];
NSLog(@"%@",str);
输出字符“56”。
(2)字符类型转数据类型
NSString *str7 = [NSString stringWithFormat:@"%d",56];
int num7 = [str7 intValue]; //字符串转整型
NSLog(@"num7+1 =%d",num7+1);
输出数据“56+1”=“57”。
5.字符串转换为数组
-(NSArray *)componentsSeparatedByString:(NSString *)separator最后为分隔符
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]);
输出单个字符或字符串:a,b,cd,e。6.字符串截取
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]);
输出内容为:abcde ,fg , cdef 。7.可变字符串创建、插入
//可变长度的字符串
NSMutableString *mutableStr = [NSMutableString stringWithString:@"爱大米"];
//动态的插入内容
[mutableStr insertString:@"老鼠" atIndex:0];
NSLog(@"mubableStr:%@",mutableStr);
输出内容为:老鼠爱大米。