您的位置:首页 > 其它

OC关于NSString和NSMutableString方法的使用

2015-08-15 15:47 393 查看
//对象的声明 NSString对象是不可更改的

//返回的是字符串对象的地址,但不可以赋给可变字符串的指针

NSString *str=@"123456789";

//用一个字符串创建另一个字符串

NSString *str2=[[NSString alloc] initWithString:str];

//将c字符串转化为oc字符串

NSString *str3=[[NSString alloc] initWithUTF8String:"beijing"];

//可以使用格式符创建字符串

NSString *str4=[[NSString alloc] initWithFormat:@"%dwelcome%@",5,str3];

//可以读取文件的内容,转化为字符串

NSString *str5=[[NSString alloc] initWithContentsOfFile:@"/Users/ms/Desktop" encoding:NSUTF8StringEncoding error:nil];

//使用类方法创建--每一个init方法都对应一个stringwith方法

//类方法--使用字符串创建另外一个字符串

NSString *str6=[NSString stringWithString:str];

//字符串可以转化为对应的基本类型(int,double)

NSInteger count=[str integerValue];

//当然字符也可以转化为数字,但是它对应的是Ascii码值

NSInteger *a=[str3 integerValue];

//OC字符串也可以转化为C字符串

const char *p=[str3 UTF8String];

//2.字符串操作方法

//返回的是字符串长度

NSUInteger len=[str length];

//返回单个字符

unichar c=[str characterAtIndex:2];

//比较两个字符串的是否相等

BOOL ret=[str isEqualToString:str2];

//比较两个字符串升序,降序,或者相等关系

NSComparisonResult ret2=[str2 compare:str3];

if (ret2==NSOrderedSame) {

NSLog(@"两者相等");

}else if (ret2==NSOrderedAscending){

//NSOrderedAscending 升序

NSLog(@"右边大");

}else if(ret2==NSOrderedDescending)

{//NSOrderedDescending降序

NSLog(@"左边大");

}

NSString *str11=@"i love you mary";

//可以通过空格划分字符串,存到数组里

NSArray *array=[str11 componentsSeparatedByString:@" "];

//@"i",@"love",@"you",@"mary"

//也可以通过集合划分字符串

NSString *str12=@"welcome to beijing,come on";

NSArray *array12=[str12 componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@" ,"]];

//有“ ”和","划分后的元素@"welcome",@"to",@"beijing",@"come",@"on"

//也可以数组通过某个字符串或者字符连接

NSString *str13=[array12 componentsJoinedByString:@"*"];

//数组元素通过“*”连接

//3.查找子串的位置和范围

NSString *str14=@"welcome to nanjing,welcome";

NSRange range=[str14 rangeOfString:@"welcome"];

//返回的是子串第一次出现的范围,

if(range.location==NSNotFound){

NSLog(@"not found");

}else{

NSLog(@"location:%lu length:%lu",range.location,range.length);

}

//4.子串的提取

NSString *str16=@"welcome to nanjing";

//从第0个,提取到第5个字符,不包括第5个

NSString *str15=[str16 substringToIndex:5];

//是从第2个字符截取到最后一个字符(字符串从0开始计数)

NSString *str1=[str substringFromIndex:3];

//可变字符串NSMutableString 继承自 NSString

//1.凡是NSString的方法,NSMutableString都能用

//2.凡是传参需要传入NSString *传入NSMutableString *也可以

NSMutableString *strM=[[NSMutableString alloc] initWithFormat:@"%dwelocme",5];

NSMutableString *strM2=[[NSMutableString alloc] init];

//创建空字符串,字符串对象存在,但是里面有0个字符,alloc是在堆中申请了一片空间

//重置字符串的内容

[strM2 setString:strM];

//在原来的字符串基础上添加字符串

[strM2 appendString:@"beijing"];

[strM2 appendFormat:@"%@",str5];

//在原来字符串的基础上在某个位置插入字符串

[strM2 insertString:@"Wuhan" atIndex:4];

//在第4个位置,插入字符串Wuhan

//删除指定范围的字符

NSRange range3={2,3};

[strM2 deleteCharactersInRange:range3];

//将制定范围内的字符替换为新的子串,替换掉的字符和替换上去的字符长度可以不同

[strM2 replaceCharactersInRange:range3 withString:@"nanjing guangzhou"];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: