OC中NSString的常用方法
1.初始化一个字符串对象
NSString *string1 = @"ibokanwidom";
NSString @string2 = [NSString stringWithString:@"bokanwensi"];
NSString *string4 = [NSString stringWithFormat:@"%d,%f,higuys",5,4.5];
NSString *string5 = @"Rick";
NSString *string6 = @"666";
NSString *string7 = [NSString stringWithFormat:@"%@%@",string5,string6];
NSLog(@"%@",string7);
2.从本地文件中读取字符串
NSString *path1 = @"/Users/ibokan/Desktop/OC_04_02/OC_04_02/213.html";
NSStringEncoding encoding;//NSUTF8StringEncoding = 4,
NSError *error;
NSString *string8 =[NSString stringWithContentsOfFile:path1 encoding:encoding error:&error];
3.从网络读取字符串
NSURL *url = [NSURL URLWithString:@"http://www.baidu.com"];
NSString *string9 = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];
NSLog(@"string9 = %@",string9);
4.字符串的操作
NSString *string11 = @"你是逗比么,我都受不了你了";
(1).字符串的属性 长度 length
NSUInteger length = [string11 length];
NSLog(@"长度:%lu",length);
(2).字符串的截取
NSString *subString1 = [string11 substringToIndex:5];//获取从字符串开头到字符串的 to 的字符串内容,不包括to位置,从0开始算起
NSLog(@"subString1 = %@",subString1);
NSString *subString2 = [string11 substringFromIndex:6];//获取从字符串from位置到结尾字符串的内容,包含from位置
NSString *subString3 = [string11 substringWithRange:NSMakeRange(7, 2)];
(3).获取字符串中的字符
NSString *string12 = @"abdasf";
char c= [string12 characterAtIndex:0];//根据字符串中的位置Index 来得到一个字符,注意字符串的索引是从0开始的
(4).字符串的比较,如何判断2个字符串相等呢?
if (subString2 == subString3) {
//内容和指针都相等,才成立
NSLog(@"subString = subString3");
}else
{
NSLog(@"不相等");
}
(5).浅拷贝 和 深拷贝
浅拷贝是指原对象与拷贝对象共用一份文体,仅仅是引用变量名称不同。
深拷贝是指原对象与拷贝对象不相同,其中任何一个对象的改动都不会对另一个对象造成影响
在字符串中[NSString stringWithString:]方法是用于浅拷贝一个现有的字符串产生一个字符串
NSString *subString4 = [NSString stringWithString:subString3];//浅拷贝
NSString *subString5 = [NSString stringWithFormat:@"%@",subString2];
if (subString2 == subString5) {
//内容和指针都相等,才成立
NSLog(@"subString4 = subString3");
}else
{
NSLog(@"不相等");
}
//在实际开发过程中,我们通常只需要比较2个字符串的内容是否相等
if ([subString2 isEqualToString:subString5]) {
NSLog(@"subString2 和 subString3 内容相等");
}
else
{
NSLog(@"subString2 和 subString3 内容不相等");
}
(6)比较两个字符串的大小
NSString *cmpString1 = @"hehehehehe";
NSString *cmpString2 = @"hahahahaha";
NSComparisonResult result = [cmpString1 compare:cmpString2];
switch (result) {
case NSOrderedAscending:
NSLog(@"cmpString1 < cmoString2");
break;
case NSOrderedSame:
NSLog(@"cmpString1 = cmoString2");
break;
case NSOrderedDescending:
NSLog(@"cmpString1 > cmoString2");
break;
default:
break;
}
(6).根据字符串拿到对应的range
NSString *string11 = @"你是逗比么,我都受不了你了";
NSRange range1 = [string11 rangeOfString:@"逗比"];
NSLog(@"%@",[NSValue valueWithRange:range1]);//封装range
(7).只输出第一个遇到该字符串的位置 及 该字符串的长度
NSRange range2 = [string11 rangeOfString:@"你"];
NSLog(@"%@",[NSValue valueWithRange:range2]);
(8).判断字符串中是否有XX前缀 或 XX后缀
NSString *string13 = @"http://www.baidu.com";
if ([string13 hasPrefix:@"http://"]) {
NSLog(@"含有该前缀");
}
else
{
NSLog(@"不含有该前缀");
}
(9).判断是否为jpg 或者 png格式
NSString *string14 = @"fsfag.jpg";
if ([string14 hasSuffix:@".jpg"]||[string14 hasSuffix:@".png"]) {
NSLog(@"含有此后缀");
}
else
{
NSLog(@"不还有次后缀");
}
(10).字符串的拼接
NSString *string15 = @"www.baidu.com";
NSString *string16 = [@"http://" stringByAppendingString:string15];//直接把两个字符串连接起来,调用者在前,传进来的字符串在后
NSLog(@"%@",string16);
字符串的其他常用方法
1.字符串的转换函数
NSString *str1 = @"111aaff555";
int a1 = [str1 intValue];
float b1 = [str1 floatValue];
double c1 = [str1 doubleValue];
NSLog(@"%d",a1);
2.字符串大小写转换函数
NSString *str2 = @"aaabb";
NSString *str3 = [str2 uppercaseString];//将字符串全部改写成大写
NSLog(@"%@",str3);
NSString *str4 = [str3 lowercaseString];
NSLog(@"%@",str4);
NSString *str5 = [str2 capitalizedString];
NSLog(@"%@",str5);
3.字符串的替换函数
NSString *str6 = [str2 stringByReplacingOccurrencesOfString:@"ff" withString:@"dd"];
NSLog(@"%@",str6);
NSString *str7 = [str2 stringByReplacingCharactersInRange:NSMakeRange(1, 2) withString:@"cc"];
//将字符串中range范围的内容替换成replacment的内容
NSLog(@"%@",str7);
NSString *str8 = @"aa-bb-cc-dd-ee";
NSArray *array = [str8 componentsSeparatedByString:@"-"];//以separator为分隔符,将原字符串的内容进行分割,分割的结果放到一个数组里,作为返回值
NSLog(@"%@",array);
OC中NSString的使用方法
最新推荐文章于 2022-07-30 15:55:10 发布