OC NSString

来源:互联网 发布:.js文件如何打开 编辑:程序博客网 时间:2024/06/05 17:51

1.创建对象

(1)便利构造器(+号方法)

NSString *str1 = [NSString stringWithFormat:@"iphone%d",5];
(2)alloc + 初始化方法
NSString *str2 = [[NSString alloc] initWithFormat:@"iphone%d",4];
(3)根据字符串初始化OC字符串对象
NSString *str3 = [[NSString alloc] initWithString:@"lanou"];

存储字符串@"lanou"的地址


2.求字符串长度

NSUInteger length = [str1 length];


3.获取字符串中的某个字符
Terminating app due to uncaught exception 'NSRangeException', reason: '-[__NSCFString characterAtIndex:]: Range or index out of bounds'
让一个NSString类型的对象,调用characterAtIndex方法是给定的下标超出了范围,即下标越界.
unichar charac = [str1 characterAtIndex:5];

4.判断是否以指定的字符串开头,或者以指定的字符串结尾.
列如判断一个字符串是否以http开头,是否已.com结尾.
NSString *str4 = [[NSString alloc] initWithFormat:@"http://www.baidu .com"];
判断是否以http卡头
BOOL isPrefix = [str4 hasPrefix:@"http"];
NSLog(@"isPrefix = %d",isPrefix);
BOOL isSuffix = [str4 hasSuffix:@".com"];


5.查找指定字符串的范围

NSRange range = [str4 rangeOfString:@"www"];
          if (range.length == 0) {
             NSLog(@"没有找到对应的字符串");
          }else{
             NSLog(@"location = %lu,length = %lu",range.location,range.length);
将NSRange类型的结构体变量转变为字符串对象.
             NSLog(@"%@",NSStringFromRange(range));

        }


6.字符串截取(获取字符串)

(1) 获取字符串给定下表之后的子串,包含指定下标的对应的字符
列如获取baidu
NSString *subString1 = [str4 substringFromIndex:11];
2) 获取给定下表指定的子串,不包含指定下标的对应的字符
NSString *subString2 = [str4 substringToIndex:7];
3)获取指定范围字符串      
NSString *subString3 = [str4 substringWithRange:NSMakeRange(11, 5)];


7.字符串拼接

NSString *str1 = [NSString stringWithFormat:@"lanou"];
lanou后拼接 henan
NSString *newStr1 = [str1 stringByAppendingString:@"henan"];
lanou 后拼接 henan9ban
NSString *newStr2 = [newStr1 stringByAppendingFormat:@"%dban",9];
NSString *newStr2 = [str1 stringByAppendingFormat:@"%@",newStr1];


8 替换字符串

NSString *str2 = [NSString stringWithFormat:@"lanohca牛逼shd"];
(1)将O换成牛逼
NSString *newStr = [str2 stringByReplacingOccurrencesOfString:@"o" withString:@"牛逼"];
(2)将no换成真牛逼
NSString *newStr2 = [str2 stringByReplacingCharactersInRange:NSMakeRange(2, 2) withString:@"真牛逼"];


9.字符串比较.(重点)

 NSComparisonResult result = [@"111" compare:@"222"];
NSLog(@"result = %ld",result);


10.字符串和数值类型转换

(1)@"123"转换为 123
从第一个字符开始,如果在遇到除了空格之外的字符时,将前面的空格忽略掉继续往下找,读取数字直到遇到非数字时结束
int value = [@"123" intValue];
(2)将数字转化为字符串对象
NSString *str = [NSString stringWithFormat:@"%f",5.2];

0 0