您的位置:首页 > 其它

oc 知识总结一(NSString、NSMutableString)

2015-12-18 18:48 429 查看

注:

OC中提供了NSString类,⽤于处理字符串对象,oc语⾔言的字符串必须以@开头,引号当中则是字符串的内容,例如@”abc”

一、NSString(不可变字符串)

1、创建字符串

1>方法一、使用字符串常量

NSString *str=@"helloabc";

NSLog(@"%@",str);

输出结果:



2>方法二、使用类方法

NSString *str1=[NSStringstringWithFormat:@"%i",5];

NSString *str2=[NSStringstringWithUTF8String:"hello!"];
NSLog(@"%@",str1);

NSLog(@"%@",str2);

输出结果:



2、字符串的常用方法

1>获取字符串的长度(length)

NSLog(@"%ld",[strlength]);



2>改变字符串大小写

uppercaseString 转换大写

lowercaseString 转换小写

capitalizedString 首字母大写,其他字母小写

例子:

NSString *str=@"helloabc";

NSLog(@"%@",[struppercaseString]);//转化成大写

NSLog(@"%@",[strlowercaseString]);//转化成小写

NSString *str3=@"hello, world!";

NSLog(@"%@",[str3capitalizedString]);//开头字母大写

输出的结果:



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

(1)isEqualTo:判断两个对象是否相等

(2)isEqualToString:判断这个对象是否等于你所给的字符串

例1:

NSString *str=@"helloabc";

NSString *str3=@"hello, world!";

if([str3isEqualTo:str]){

NSLog(@"两个字符串相等");

}else{

NSLog(@"两个字符串不相等");

}
输出结果:



例2:

NSString *str3=@"hello, world!";

if([str3isEqualToString:@"hello, world!"]){

NSLog(@"两个字符串相等");

}else{

NSLog(@"两个字符串不相等");

}
输出结果:



4>将字符串转换为基本数据类型

(1)转换成int类型:[string intValue];

(2)转换成float类型:[string floatValue];

(3)转换成double类型:[string doubleValue];

(4)转换成bool类型:[string boolValue];

例:

NSString *str = [NSStringstringWithFormat:@"%i",20];

NSLog(@"%i",[strintValue]);

NSLog(@"%f",[strfloatValue]);

NSLog(@"%f",[strdoubleValue]);

NSLog(@"%d",[strboolValue]);
输出结果:



5>截取字符串

(1)方法一:substringToIndex:从0开始截取到指定位置,不包含指定位置[0,index)

(2)方法二:substringFromIndex:从指定位置开始截取到末尾[index,length-1]

(3)方法三:substringWithRange:截取一个区间

例:

//------------------------------截取字符串-----------------------------------------------------

NSString *str=@"hello+world!";

//方法1:从0开始截取到指定位置,不包含指定位置[0,index)

NSString *str1=[strsubstringToIndex:5];

NSLog(@"%@",str1 );

//方法2:从指定位置开始截取到末尾,[index,length-1]

NSString *str2=[strsubstringFromIndex:6];

NSLog(@"%@",str2 );

//方法3:截取一个区间

NSRange rang=NSMakeRange(3,5);

NSString *str3=[strsubstringWithRange:rang];

NSLog(@"%@",str3);

输出结果:



6>拼接字符串

stringWithFormat:

例:

//-------------------------------拼接字符串---------------------------------------------------

NSString *name =@"sunshine_leaf";

int age =
18;

NSString *str = [NSStringstringWithFormat:@"^_^我的姓名:%@,年龄:%i!!!!^_^",name,age];

NSLog(@"拼接的字符串:%@",str);
输出结果:



7>追加字符串
(1)stringByAppendingString:
(2)stringByAppendingFormat:
例:

//----------------------------------追加字符串----------------------------------------------------------

NSString *name =@"sunshine_leaf";

NSString *str = [name
stringByAppendingString:@"阳光_叶子"];

NSString *str1 = [namestringByAppendingFormat:@"寓意:%@",@"在光明,温暖的地方的一片小小的叶子"];

NSLog(@"使用第一种方法的结果:%@,\n使用第二种方法的结果:%@",str,str1);

输出结果:



8>将字符串分割成数组

componetsSeparatedByString:以某个字符为分割依据

//-----------------------------------将字符串分割成数组-------------------------------------------

NSString *str =@"1,2,3,4,5,6,7,8";

NSArray *array = [strcomponentsSeparatedByString:@","];

for (NSString *sin array) {

NSLog(@"数组中的元素:%@",s);

}

输出结果:



二、NSMutableString(可变字符串)

1、创建可变字符串
(1)方式一:创建一个空的字符串

NSMutableString *str=[NSMutableStringstring];
(2)方式二:创建一个指定大小的字符串

NSMutableString *str=[NSMutableStringstringWithCapacity:100];

(3)方式三:创建一个指定内容的字符串

NSMutableString *str3=[NSMutableStringstringWithString:@"hello"];
2、给可变字符串设置值

setString:

示例:

//
创建一个空的字符串

NSMutableString *str=[NSMutableStringstring];

[str setString:@"你好"];

NSLog(@"str:%@",str);

//创建一个指定大小的字符串

NSMutableString *str2=[NSMutableStringstringWithCapacity:100];

[str2 setString:@"世界"];

NSLog(@"str2:%@",str2);

//设置字符串内容setString

NSMutableString *str3=[NSMutableStringstringWithString:@"hello"];

[str3 setString:@"world"];

NSLog(@"str3:%@",str3);

输出结果:



注:使用setString:会把原有的字符串变成了设置的那个字符串,相当于覆盖了。

3、给可变字符串插入字符

insertString:atIndex:在指定插入字符

例:

NSMutableString *str=[NSMutableStringstring];

//在空字符串的前面插入一个字符

[str insertString:@"1"atIndex:0];//每次插入的都是o号位置

[str insertString:@"1"atIndex:0];

[str insertString:@"1"atIndex:0];

[str insertString:@"1"atIndex:0];

NSLog(@"str:%@",str);

//创建一个指定大小的字符串

NSMutableString *str2=[NSMutableStringstringWithCapacity:100];

[str2 setString:@"世界"];

[str2 insertString:@"时间"atIndex:1];

NSLog(@"str2:%@",str2);

//设置字符串内容setString

NSMutableString *str3=[NSMutableStringstringWithString:@"hello"];

[str3 insertString:@"world"atIndex:4];

NSLog(@"str3:%@",str3);
输出结果:



4、给可变字符串拼接字符
appendString:拼接
appendFormat:格式化拼接
例:

//将用户名和域名拼接成邮箱

NSString *userName=@"zhangsan";

NSString *domainName=@"163.com";

NSMutableString *email=[NSMutableStringstring];

//方法一:使用appendString进行拼接

[email appendString:userName];

NSLog(@"%@",email);

[email appendString:@"@"];

NSLog(@"%@",email);

[email appendString:domainName];

NSLog(@"%@",email);

//方法二:使用appendFormat进行拼接

[email appendFormat:@"%@@%@",userName,domainName];

NSLog(@"%@",email);
输出结果:



5、删除字符串
deleteCharactersInRange:从指定范围中删除元素
例:

//删除字符串

NSMutableString *str4=[NSMutableStringstringWithString:@"hello
world!#$"];

NSRange rang=NSMakeRange(6,7);

[str4 deleteCharactersInRange:rang];

NSLog(@"%@",str4);
输出结果:



6、替换字符串

replaceCharactersInRange: withString:用指定的字符串在指定的范围进行替换

例:

//替换字符串

NSMutableString *str=[NSMutableStringstringWithString:@"hello
world!#$"];

NSRange rang=NSMakeRange(6,7);

[str replaceCharactersInRange:rangwithString:@"叶子"];

NSLog(@"%@",str);

输出结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: