OC关于NSString和NSMutableString方法的使用

//对象的声明 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"];

你可能感兴趣的:(OC关于NSString和NSMutableString方法的使用)