OC_NSString

来源:互联网 发布:怎么优化宝贝标题贴吧 编辑:程序博客网 时间:2024/06/11 04:33

不可变字符串NSString的方法:
字面量: NSString *str=@”woshi孙悟空”;
NSLog(@”%ld”,str.length); length:字符串的长度
通过指定的下标获取其字符的内容,如果打印汉字用大写的C输出
NSLog(@”%c”,[str characterAtIndex:3]);

创建一个空字符串:
NSString *str=[[NSString alloc]init];
创建一个字符串:
NSString *str=[[NSString alloc]
initWithString:@”悟空来了”];
NSLog(@”%@”,str);

便利构造器的方法:
NSString *str=[NSString stringWithString:@”悟空来了”];
NSLog(@”%@”,str);
注:用便利构造器和初始化方法创建的字符串对象可以正常使用,但是系统提示要用字面量的方式来完成对象的创建,因此尽量不用.

字符串的截取:
NSString *str=@”ni hao wo de ming zi jiao wu kong”;
(1)从第5个字符开始截取:
NSLog(@”%@”,[str substringFromIndex:5]);
(2)截取从开始到第5个字符:
NSLog(@”%@”,[str substringToIndex:5]);
(3)从第3个字符截取到第7个字符
NSRange range={3,7};
NSLog(@”%@”,[str substringWithRange:range]);
合并写法:
NSLog(@”%@”,[str substringWithRange:NSMakeRange(3,7)]);

判断两个字符串的内容是否相等:
NSString *str1=@”nihao”;
NSString *str2=@”nihao”;
NSLog(@”%@”,[str1 isEqualToString:str2]);

判断是否有前缀:
NSString * str = @”sunwukong”;
NSString * prefix =@”kong”;
NSLog(@”%hhd”,[str hasSuffix:prefix]);

// 把一个字符串转换成整型
NSString *strNum = @”1234pgu5”;
int num = [strNum intValue];
NSInteger numOne = [strNum intergerValue];
NSLog(@”%d %ld”,num,numOne);

// stringWithFormat :此方法可以把任意类型转换成字符串类型, 可以直接进行拼接
CGFloat g = 3.14;
NSInteger a = 100;
NSString *str = [NSString stringWithFormat:@”%ld,%g,%@”,a,g,@”孙悟空”];
NSLog(@”%@”,str);

// uppercaseString 所有转换成大写
NSString *str =@”sunwukong”;
NSLog(@”%@”,str.uppercaseString);
// lowercaseString 所有转换成小写
NSString *str = @”SUNWUKONG”;
NSLog(@”%@”,str.lowercaseString);
// capitalizedString 第一个字母大写 其余小写
//compare(比较字符串) 只有3个值 1 0 -1 , 一个是ASC升序,一个是 降序DESC结果是1
NSString *str =@”buhao”;
NSString *newStr = @”buhao”;
NSLog(@”%ld”,[str compare:newStr]);

//字符串的拼接
NSString *str =@”sunwukong” ;
NSString *strOne = @”tangseng”;
NSString *newStr = [str stringByAppendingString:strOne];
NSLog(@”%@”,newStr);

//字符串的替换
NSString *str = @”孙悟空没事喜欢抓妖怪”;
NSString *strNew = [str stringByReplacingOccurrencesOfString:@”悟空” withString:@”行者”];
NSLog(@”%@”,strNew);

//NSMutableString 可变字符串 继承与NSString
NSMutableString *str = [NSMutableString alloc]init];

//使用字面量的方式创建的是不可变字符串, 只能拿不可变的指针来接收
NSMutableString *str = [NSMutableString alloc]initWithString:@”孙悟空”];
NSLog(@”%@”,str);

//便利构造器
NSMutableString *strOne = [NSMutableString stringWithString:@”唐僧”];
NSLog(@”%@”,strOne);

//插入
NSMutableString *str = [NSMutableString stringWithString:@”nihaowoshi”];
[str insertString:@”孙悟空” atIndex:3];
NSLog(@”%@”,str);

//范围的替换
NSMutableString *str =[NSmutableString stringWithString:@”nihao,wojiaosunwukong”];
[str replaceCharactersInRange:NSMakeRang(3,4) withString:@”孙悟空”]; 注:前面的是下标,后面是替换几个字符
NSLog(@”%@”,str);

//全替换
NSMutableString *str = [NSMutableString stringWithString:@”sun xing zhe”];
[str setString:@”孙悟空”];
NSLog(@”%@”,str);

// 可变字符串的方法上一般都是没有返回值的,都是对自身的内容进行修改,在访问的时候字符串已经发生了变化,但是不可变字符串会产生一个新的字符串,一般方法会返回NSString
NSMutableString *str = [NSMutableString stringWithString:@”tangseng”];
[str appendString:@”悟空”];
NSString *strOne = @”ni hao”;
NSString *strNew = [strOne stringByAppendingString:@”悟空”];
NSLog(@”%@”,str);

// 给定一个图片文件名,判断字符串中是否”png”结尾,如果是就替换成”jpg”,如果 不是,就拼接”.jpg”
NSString *str = @”sdsffhd.avi”;
if ([str hasSuffix:@”png”]){
NSString *strNew = [str stringByReplacingOccurrencesOfString:@”悟空” withString:@”行者”];
NSLog(@”%@”,strNew);
} else {
NSString *strOne = @”.jpg”;
NSString *newStr = [str stringByAppendingString:strOne];
NSLog(@”%@”,newStr);
}

0 0
原创粉丝点击