您的位置:首页 > 其它

OC中NSString的使用方法

2015-12-11 18:40 239 查看
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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: