NSString学习笔记

1.NSString 初始化
  初始化一个NSString类课直接进行赋值,例如 NSString *str = @"Hello World!,
可以使用已有的一个字符串初始化,列如 - (id)initWithString:(NSString *)aStrin;,

还可以使用格式化初始化方法,列如NSString *msg = [[NSString alloc]initWithFormat:@"%@,%d",name,age];,也可以使用C语言字符串来初始化一个字符串,列如 [NSString stringWithUTF8String:"c string!"];.下面代码展示了NSString的初始化过程.

//使用现有字符串初始化
str = [NSString alloc]initWithString:str];
NSLog(@"str = %@",str);
str = [NSString initWithString:str];
NSLog(@"str = %@",str);

//使用C语言字符串初始化
str = [NSString stringWithUTF8String:"c string"];
NSLog(@"str = %@",str);
//使用格式化字符串
NSString *name = @"tom";
int age = 30;
NSString *msg = [[NSString alloc]initWithFormat:@"%@,@d",name,age];
NSLog(@"msg = %@",msg);
NSString *msg = [NSSting initWithFormat:@"%@,%d",name,age];
NSLog(@"msg = %@",msg);

 2.求字符串长度,获取某个索引位置的字符.
//1.求字符串长度
NSString *str = @"Hello World!";
NSUInteger len = [str length];
NSLog(@"%lu",len);
//2.获取某个位置的字符
char c = [str characterAtIndex:0];


3.取子字符串.
//1.根据1个索引截取字符串
NSString *str = @"Hello World!";
NSString *subString = [str substringFromIndex:6]; //从某个索引开始
NSLog(@"%@",subString);
NSString *subString = [str substringToIndex:6]; //到某个索引
NSLog(@"%@",subString);
//2.根据两个索引范围截取字符串
NSRange range = NSMakeRange(2,3);
subString = [str substringWithRange:range];
NSLog(@"%@",subString);

4.NSData和字符串之间的转换.
NSString *str = @"Hello World!";
NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];
str = [[NSString alloc]initWithData: data encoding: NSUTF8StringEncoding];
NSLog(@"%@",str);

5.字符串和数字类型的转换
NSString *str = @"123";
int i = [str intValue]; // 将字符串str转换成整形i
double d = [str doubleValue];
NSLog(@"%d,%lf",i,d);

6.字符串的大小写转换
NSString *str = @"Hello World!";
str = [str uppercaseString]; // 将字符串转换为大写
NSLog(@"%@",str);
str = [str capitalizedString]; // 将字符串转换首字母为大写
NSLog(@"%@",str);
str = [str lowercaseString]; // 将字符串转换为小写
NSLog(@"%@",str);

7.字符串的比较.
NSString *str1 = @"abcd";
NSString *str2 = @"abce";
NSComparisonResult result = [str1 compare:str2];
if (result == NSOrderedAscending) {
NSLog(@"str1 < str2");
}else if(result == NSOrderedDescending){
NSLog(@"str1 > str2");
}else {
NSLog(@"str1 == str2");
}

8.读写文件
NSString *filePath = @"/Users/hongdeng/Desktop/test.text";
NSString *content = @"file content";

[content writeToFile:filePath atomically:YES encoding: NSUTF8StringEncoding error:nil];
content = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
NSLog(@"str = %@",content);



  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值