OC字符串类型方法总结
2014-08-07 08:25
239 查看
<span style="font-size:24px;">//* 1. 创建对象 // 两种方式: //(1)便利构造器(+号方法) stringWithFormat: NSString *str1 = [NSString stringWithFormat:@"iPhone%d", 5]; NSLog(@"str1 = %@", str1); //(2)alloc+初始化方法 initWithFormat: NSString *str2 = [[NSString alloc] initWithFormat:@"iPhone%d", 4]; NSLog(@"str2 = %@", str2); //(3)根据字符串初始化OC字符串对象,没人用这种方法 NSString *str3 = @"lanou";//存储常量字符串@“lanou”的地址 //2.求字符串的长度 //length这个方法有返回值 NSUInteger length = [str1 length]; NSLog(@"length = %lu", length); //3 获取字符串中的某个字符 characterAtIndex有返回值,不可越界 reason:问题产生的原因,nscfstring == nsstring, 又是一个减号方法,所以问题产生的原因是:让一个nsstring类型的对象,调用characterAtIndex:方法时,给丁的字符串下标超出了范围,即下标越界 //解决方案:将数组下标修改范围之内的数即可 unichar charac = [str1 characterAtIndex:4]; NSLog(@"%c", charac); //4.判断是否以指定的字符串开头或结尾,返回值为bool类型 //例如:判断一个字符串是否以http开头,是否以.com结束 NSString *str4 = [[NSString alloc] initWithFormat:@"http:baidu.com"]; 判断是否以http开头 hasPrefix方法 BOOL isPrefix = [str4 hasPrefix:@"http1"]; NSLog(@"isPrefix = %d", isPrefix); //判断是否以.com结束 hasSuffix方法 BOOL isSuffix = [str4 hasSuffix:@".com"]; NSLog(@"isSuffix = %d", isSuffix); //5.查找指定字符串的范围 rangeOfString: NSRange range = [str4 rangeOfString:@"htt"];//NSRange是一个结构体类型,range是一个结构体变量,两个成员,返回值为长整型 if (range.length == 0) { NSLog(@"没有找到相应的字符串"); } else { //NSLog(@"location:%lu, length:%lu", range.location, range.length);//返回值为长整型 //将nssrange类型的结构体变量转变为字符串对象 NSStringFromRange方法 NSLog(@"%@", NSStringFromRange(range)); } //6.字符串截取(获取字符串) NSString *str5 = [NSString stringWithFormat:@"lanouishhg"]; //(1)获取给定下标之后的字符串,包含指定下标对应的字符(获取的过程是拷贝的过程,要另外开辟一块堆区空间,操作的是拷贝的副本,拷贝的和原字符串虽然一样,但是地址不一样),会产生另外一个对象; //获取hg NSString *subString1 = [str5 substringFromIndex:8];//subString1是一个对象 NSLog(@"%@", subString1); //(2)获取给定下标之前的子串,从下标为0开始,但是不包括指定下标对应的字符 //获取lan NSString *subString2 = [str5 substringToIndex:3]; NSLog(@"%@", subString2); //获取指定范围内的子串。 //获取is NSMakeRange(5, 2) NSString *subString3 = [str5 substringWithRange:NSMakeRange(5, 2)]; NSLog(@"%@", subString3); //7.字符串拼接 NSString * str1 = [NSString stringWithFormat:@"lanou"]; //lanou后拼接henan stringByAppendingString:只可以拼接字符串,不可以拼接格式串 NSString *newStr1 = [str1 stringByAppendingString:@"henan"]; NSLog(@"%@",newStr1); //lanou后拼接henan9ban stringByAppendingFormat可以拼接格式串 NSString *newStr2 = [str1 stringByAppendingFormat:@"%@", newStr1]; NSLog(@"%@", newStr2); //8.替换字符串 NSString *str2 = [NSString stringWithFormat:@"lanouidjkgjfjououououou"]; //(1)将ou替换成niubi stringByReplacingOccurrencesOfString:后面的替换前面的 NSString *str21 = [str2 stringByReplacingOccurrencesOfString:@"ou" withString:@"niubi"]; NSLog(@"%@", str21); //只将第一个ou替换成niubi NSMakeRange(3, 2)这个方法可以给定一个范围 NSString *str22 = [str2 stringByReplacingCharactersInRange:NSMakeRange(3, 2) withString:@"niubi"]; NSLog(@"%@", str22); //9,字符串比较(升序或降序)(重点) NSComparisonResult result = [@"1111" compare:@"2222"]; NSLog(@"%ld", result); //10.字符串和数值类型比较 //(1)@"123"将字符串转化为整数123 //从第一个字符为空格,如果在遇到空格之外的字符时,将前面的空格忽略掉,继续往下找,读取数字,直到遇到非数字时结束 int value = [@" 123a" intValue]; NSLog(@"%d", value); //(2)将数字转为字符串对象 NSString *str = [NSString stringWithFormat:@"%d",2]; NSLog(@"%@",str); //11. 大小写转换 //(1)将@"lan OU"全部转为大写 NSString *upperString = [@"lanou OU" uppercaseString]; NSLog(@"%@", upperString); //(2)将@"lan OU"全部转为小写 NSString *lowerString = [@"lanou OU" lowercaseString]; NSLog(@"%@", lowerString); //(3)将@"lan OU"每个单词的首字母大写 NSString *capital = [@"lanou OU" capitalizedString]; NSLog(@"%@", capital); NSMutableString *str = [NSMutableString stringWithFormat:@"lanouhenan"]; //对于可变字符串的增删改方法,都是在原字符串基础上进行修改,所以之后原字符串的内容发生变化,所以无需返回值 //1,在原字符串str基础上拼接frank [str appendFormat:@"Frank"]; NSLog(@"%@", str); //2.在字符串str基础上拼接frank [str appendFormat:@"%@", @"Frank"]; NSLog(@"%@", str); //3.删除字符串,在原字符串基础上删除henan [str deleteCharactersInRange:NSMakeRange(5, 5)]; NSLog(@"%@", str); //4,插入字符串,在原字符串基础上插入lanou [str insertString:@"lanou" atIndex:0]; NSLog(@"%@", str); //5.替换字符串,在原字符串基础上将第一个frank替换成duck [str replaceCharactersInRange:NSMakeRange(10, 5) withString:@"Duck"]; NSLog(@"%@", str); </span> </span>
相关文章推荐
- OC 字符串常用方法总结
- 字符串类型内建方法归纳总结
- js把字符串转换成int类型的方法总结
- Python中字符串类型的常见方法总结
- 对Java字符串与整形、浮点类型之间的相互转换方法总结
- 获取字符串格式日期的年月日以及转换为TimeStamp类型的方法
- Flex应用程序中嵌入各种类型的资源方法总结
- 截取字符串方法总结(区分汉字、数字、字母)
- 浮点性(float)转化为字符串类型 自定义实现和深入探讨C++内部实现方法
- 字符串数组的一些处理方法总结
- PHP截取中文字符串方法总结
- Oracle多行转换成字符串方法总结
- Struts的ActionForm中不同类型属性的使用方法总结
- 网络编程资料总结(三)----p2p之NAT类型检测方法
- XML 数据类型方法"modify" 的参数1 必须是字符串文字
- SQL Server中TEXT类型字段值在数据库中追加字符串方法
- C++中的数据类型转换方法总结
- [转贴]字符串数组的一些处理方法总结
- PHP截取中文字符串方法总结
- 判断输入字符串为颜色类型的最优方法