Objective - C NSString的常用语法点总结
使用NSString,NSString为不可变字符串,使用NSString创建的字符串无论内容以及长度都不可更改
- 重点内容:
- NSString - 创建字符串
- NSString - 格式化
- NSString - 拷贝
- NSString - 拼接
- NSString - 长度计算
- NSString - 比较
- NSString - 判断是否相同
- NSString - 截取
- NSString - 替换
- NSString - 字符和数组的转换
- NSString - 字符串大小写字母的转换
- NSString - BOOL语句
1.创建字符串
NSString * skt = @"梨花";
NSLog(@"%@",skt);
一个简单的赋值.
2.字符串的初始化
NSString * edg1 = [NSString stringWithFormat:@"萌囧小梨花"];
或者是
NSString * edg1 = [NSString stringWithFormat:@"梨花"];
NSString * edg2 = [NSString stringWithFormat:@"萌萌哒的%@",edg1];
NSLog(@"%@",edg2);
NSString格式化字符串的使用较为频繁,基本上在对字符串操作之前都需要运用初始化给字符串赋初始值,以及初始化.
3.字符串的拷贝
NSString edg3 = [NSString stringWithString:edg1];
NSLog(@"%@",edg3);
意思是讲一个字符串初始化为另一个新的字符串
拷贝使用率也很高
4.字符串的拼接
NSString * edg4 = [[NSString alloc] init];
edg4 = [NSString stringByAppendString:edg3];
NSlog(@"%@",edg4);
5.字符串的长度
NSLong(@"字符串的长度为:%ld",[edg4 length]);
计算字符串的长度
6.字符串的比较
NSComparisonResult result = [edg1 compare: edg2];
switch(result){
case NSOrderedAscending:
//edg1跟edg2比较 有增长 故edg2>edg1
NSLog(@"前小后大");
break;
case NSOrderedDescending:
NSLog(@"前大后小")
break;
case NSOrderSame:
NSLog("相等");
default:
break;
}
OBjective - C,NSString很强大,COMPARE也很强大,即便是中文也能够直接得出结果
7.判断相同与否(Equal)
if([edg1 isEqualToString:@"面对疾风吧"])
{
NSLog(@"相同");
}else
{
NSLog(@"不相同");
}
功能简要,单纯对比是否相同,于判断时使用,简单扼要
8.字符串的截取
//1.截取指定位置后的字符串
NSLog(@"%@",[edg1 substringFromIndex:2]); //从第二位开始截取直至最后
//2.截取指定长度的字符串,从第0位开始
NSLog(@"%@",[edg1 substringToIndex:3]); //即截取从第0位开始的三位字符串
//3.截取指定范围的字符串,返回类型NSString
NSLog(@"%@",[edg1 substringWithRange:NSMakeRange(1,1)]); //从第一位开始 往后截取一位
需要取得特定字符串内容时使用☺O(∩_∩)O~~
9.字符串的替换
//1.替换整个字符串
NSString * skt1 = [skt1 stringByReplaceOccurrencesOfString:skt1 withString:edg1];
//2.替换字符串中指定范围内的字符
NSString * skt2 = [skt2 stringByReplacingCharactersInRange:NSMakeRange(2,3)withString:@"兰花"];
//3.替换字符串中得指定字符
NSString * skt3 = [skt3 stringByReplancingOccurrencesOfString:@"萌萌哒"withString:@"帅帅哒"];
简单示例
10.字符串与数组的转换
NSInteger num1 = 133123123;
NSString * numStr = @"133123123";
NSString * num1sz = [NSString stringWithFormat:@"%ld",num1];
NSLog(@"%@",num1sz);
if([num1sz isEqualToString:numStr]){
NSLog(@"相等");
}else
{
NSLog(@"不相等");
}
//字符串类型转成基本数据类型
NSInteger num2 = [numStr integerValue];
if(num1 == num2){ //num2可以替换成为哦 numStr integerValue
NSLog(@"相等");
}else
{
NSLog(@"不相等");
}
11.字符串大小写切换
//字符串全部大写
NSString * edg = @"wyl";
edg = [edg uppercaseString];
NSLog(@"%@",[edg uppercaseString]);
//字符串全部小写
NSString * edg1 = @"WYL";
edg1 = [edg1 lowercaseString];
NSLog(@"%@",edg1);
//字符串首字母大写
edg = [edg capitalizedString];
NSLog(@"%@",edg);
12.字符串的BOOL
NSString * urlStr = @"http://www.baidu.com.jpg";
//判断字符串是否 http://开头,如果是,打印地址正确
//判断字符串结尾是否为 png,如果不是,改为png
if ([urlStr hasPrefix:@"http://"]){
NSLog(@"地址正确");
}
if([urlStr hasSuffix:@"png"]){
NSLog(@"地址正确");
}else{
urlStr = [urlStr stringByReplacingOccurrencesOfString:@"jpg" withString:@"png"];
NSLog(@"%@",urlStr);
}
在使用NSString的时候要清楚了解NSString是不可变得字符串,可变的字符串NSMutableString过几天有空会贴出.
主要写的都是使用频率较高的知识点,更加深层次的NSString-sdk我也刚刚入门,正在慢慢学习中有什么好的想法和新的知识点掌握了会第一时间分享,有建议或者意见都可以留言O(∩_∩)O