------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
1.介绍
Foundation给我们提供了两个字符串类,一个是NSString一个是NSMutableString。NSMutableString继承自NSString。
由继承这个机制我们就可以知道NSMutableString必然能完成一些NSString完不成的功能。
在初始化NSString这个对象后,这个对象就不能改变了。
如果我们改变这个字符串对象本身我们可以使用NSMutableString。
2.介绍两个类的使用
NSString *str1=@"hello";
NSString *str2=[NSString stringWithString:str1];
NSString *str3=[NSString stringWithFormat:@"hello my name is %@",@"andy"];
NSString *str4=[NSString stringWithContentsOfURL:@"file:///...." encoding:NSUTF8StringEncoding error:nil];
NSMutableString *s1 = [NSMutableString stringWithFormat:@"my age is 10"];
我们来看看字符串操作的事例
NSString *str1=@"hello";
NSString *str2=[NSString stringWithString:str1];
NSString *str3=[NSString stringWithFormat:@"hello my name is %@",@"andy"];
NSString *str4=[NSString stringWithContentsOfURL:@"file:///...." encoding:NSUTF8StringEncoding error:nil];
NSMutableString *s1 = [NSMutableString stringWithFormat:@"my age is 10"];
+(NSString *)convert:(NSString *)str
{
//处理异常情况
if (str.length<=0) {
NSLog(@"要反转的字符串为空");
return nil;
}
//初始化一个可变的字符串
NSMutableString *convert=[[NSMutableString alloc] initWithString:str];
for (int i=0; i<str.length; i++) {
//获取字符串的一个字符,再构造成一个字符串对象
NSString *one=[[NSString alloc] initWithFormat:@"%c",[str characterAtIndex:str.length-i-1]];
//可变字符串的replace
[convert replaceCharactersInRange:NSMakeRange(i, 1) withString:one];
}
return convert;
}
+(int)count:(NSString *)str
{
//处理异常情况
if (str.length<=0) {
NSLog(@"要反转的字符串为空");
return nil;
}
int count=0;
//循环遍历这个字符串如果字符是英文字母则count加1
for (int i=0; i<str.length; i++) {
//获取字符串的字符
if (([str characterAtIndex:i]>='a'&&[str characterAtIndex:i]<='z')||
([str characterAtIndex:i]>='A'&&[str characterAtIndex:i]<='Z')) {
count++;
}
}
return count;
}
+(NSString *)disblank:(NSString *)str
{
int len=str.length;;
//处理异常情况
if (len<=0) {
NSLog(@"要反转的字符串为空");
return nil;
}
NSMutableString *disblank=[[NSMutableString alloc] initWithString:str];
//如果字符串第一个字符为空格则去掉空格
if([str characterAtIndex:0]==' ')
{
[disblank deleteCharactersInRange:NSMakeRange(0, 1)];
len--;
}
//如果字符串最后一个字符为空格则去掉空格
if ([str characterAtIndex:str.length-1]==' ') {
//可变字符串的删除字符功能
[disblank deleteCharactersInRange:NSMakeRange(len-1, 1)];
}
return disblank;
}
NSString可以按照分隔符分割成NSArray这个功能也很常用
NSMutableString *str=[NSMutableString stringWithFormat:@"123-456-789-000"];
NSArray *array=[str componentsSeparatedByString:@"-"];
NSMutableString *str1=[NSMutableString stringWithFormat:@""];
NSString *str3=[str stringByReplacingOccurrencesOfString:@"-" withString:@""];
for(id i in array)
{
[str1 appendString:i];
}
NSLog(@"%@",str3);