个人整理——NSString基础
NSString *str = @"i love you ,iOS";
//也可以通过alloc 和 init方法定义或者系统的便利构造器的方法创建字符串,但是系统更倾向于用字面量
NSString *str = [[NSString alloc]initWhitString:@"苹果"];
NSSstring *str = [NSString stringWithString:@"苹果"];
//字符串长度;
NSLog (@"%ld",str.length );
//通过指定的下标获取字符内容;
NSLog (@"%c",[str characterAtIndex:3] );
//如果字符串中有汉字的话就将c改写成C;
NSLog (@"%C",[str characterAtIndex:1]);
NSString中的各个方法:
//NSString 创建的是不可变的字符串,当不可变字符串发生改变时会产生一个新的字符串,一般方法会返回NSString.
1.结构体:NSRange:
NSRange:是一个结构体,提供两个成员变量,一个是location 起始位置 ,另一个是长度.
NSRange range = {3 , 5};
NSLog (@"%@", [str substringWithRange:range]);
//打印结果为: ove y
2.判断是否相等
(1) isEqualToString
isEqualToString:判断两个字符串是否相等.
NSString *str1 = @"ni hao";
NSString *str2 = @"ni hao me ";
NSLog (@"%d", [str1 isEqualToString: str2] );
//打印结果为: 0; 两者不相等;
//其中比较两个字符串的地址是否相同通过if方式判断;
(2)compare
compare:两者相比较,对应只有三个结果,一个是ASC升序,结果是-1 一个是same相同结果是0,降序DESC,结果是1,即前面的和后边的排序按ASC码表;
NSString *str = @"nihao";
NSString *newStr = @"buhao";
NSLog(@"%ld",[str compare:newStr]);
//打印结果是:1 n he b排序后是降序,在表中n比b大.
3.前(后)缀:hasprefix(hassuffix)
hasprefix(hassuffix):判断是否有前(后)缀.
NSString *str = @"liuxinqi";
NSString *prefix = @"liu";
NSLog (@"%d", [str hasprefix:prefix]);
//打印结果为:1 表明有前缀,可以通过这个方法查找一个字符串的前几个或者后几个.
4.转化数据类型integerValue和stringWithFormat
integerValue可以把字符串转化为基本数据类型
NSString *strNum = @"12345p6";
NSInteger num = [strNum integerValue];
NSLog(@"%ld",num);
stringWithFormat:方法可以把任意类型转化成字符串类型,可以进行拼接
CGFloat g = 3.14 ;
NSInteger a = 100;
NSString *str = [NSString stringWithFormat:@"%ld,%g,%@",a,g,@"liushanshan"];
NSLog(@"%@",str);
5.转化大小写:uppercaseString,lowercaseString,capitalizedString
uppercaseString 所有的字符都大写
lowercaseString 所有的字符都小写
capitalizedString 首字母大写,其他小写
NSString *str = @"liu xin qi ";
NSLog (@"%@',str.capitalizedString);
//打印结果: Liu Xin Qi
6.字符串的拼接和替换
(1).拼接
NSString *str1 = @"liu";
NSString *str2 =@"xinqi";
NSString *newStr = [str1 stringByAppendingString:str2];
NSlog(@"%@",newStr);
//打印结果为:liuxinqi;
(2).替换
NSString *str = @"liu xin qi ";
NSString *strNew = [str stringByReplacingOccurrencesOfString:@"liu" withString:@"gao"];
NSLog (@"%@",strNew);
//打印结果:gao xin qi
```
```
NSMutableString 中的方法
//NSMutableString 创建的是可变字符串,在方法上一般都是没有返回值的,都是对自身内容进行修改,再访问字符串时已经发生改变.
1.创建方法同NSString
NSMutableString *str = @"liuxinqi";
NSMutableString *str2 = [[NSMutableString alloc]initWithString:@"liuxinqi"];
NSMutableString *str = [NSMutableString stringWithString:@"liuxinqi"];
2. 插入:insertString
NSMutableString *str = [NSMutableString stringWithString:@"ni hao wo jiao liuxinqi"];
[str insertString:@"刘鑫奇"atIndex:3];
NSLog(@"%@",str);
//其中atIndex是表示插入的起始位置.
3.替换 replaceCharactersInRange
NSMutableString *str = [NSMutableString stringWithString:@"ni hao wo jiao liuxinqi"];
MSRange range = {10 , 5};
[str replaceCharactersInRange:range withString:@"好人"];
NSLog(@"%@",str);
//打印结果为:nihao ,wo 好人liuxinqi
//其中10 表示的是插入的起始位置,二5代表的是你插入的字符串所占用的长度 可以是0,但是不能超过原本字符串的长度.
4.拼接 appendFormat
NSString *str0 = @"nihao";
NSString *strNew = [str0 stringByAppendingString:@"liuxinqi"];
NSLog(@"%@",strNew);
//打印结果:nihaoliuxinqi