NSString的使用(初始化、比较、子串、转换、替换、删除、拼接等)
2016-05-23 16:27
351 查看
// 创建字符串 5种方法 NSString *string1 = @"zhangshaofeng"; NSLog(@"string1 %@", string1); NSLog(@"SW - %d", string1); NSString *string2 = [[NSString alloc] initWithString:string1]; NSLog(@"string2 %@", string2); NSString *string3 = [[NSString alloc] initWithFormat:@"%@", string1]; NSLog(@"string3 %@", string3); NSString *string4 = [NSString stringWithString:string1]; NSLog(@"string4 %@", string4); NSString *string5 = [NSString stringWithFormat:@"%@", @"ZHANGSHAOFENG"]; NSLog(@"string5 %@", string5);
// 获取子字符串 // - (NSString *)substringFromIndex:(NSUInteger)from; NSString *subString1 = [string1 substringFromIndex:9]; NSLog(@"subString1 %@", subString1); // - (NSString *)substringToIndex:(NSUInteger)to; NSString *subString2 = [string1 substringToIndex:5]; NSLog(@"subString2 %@", subString2); // - (NSString *)substringWithRange:(NSRange)range; NSRange range = NSMakeRange(5, 4); NSString *subString3 = [string1 substringWithRange:range]; NSLog(@"subString3 %@", subString3);
// 字符串比较 // 1 判断两个字符串的大小(无条件的判断) NSComparisonResult result = [string1 compare:string5]; if (result == NSOrderedAscending) { NSLog(@"%@ 小于 %@", string1, string5); } else if (result == NSOrderedSame) { NSLog(@"%@ 等于 %@", string1, string5); } else if (result == NSOrderedDescending) { NSLog(@"%@ 大于 %@", string1, string5); } // 2 判断两个字符串的大小(有条件的判断) result = [string1 compare:string5 options:NSCaseInsensitiveSearch]; if (result == NSOrderedAscending) { NSLog(@"%@ 小于 %@", string1, string5); } else if (result == NSOrderedSame) { NSLog(@"%@ 等于 %@", string1, string5); } else if (result == NSOrderedDescending) { NSLog(@"%@ 大于 %@", string1, string5); } // 3 判断两个字符串是否相等 result = [string1 isEqualToString:string5]; if (result) { NSLog(@"%@ 等于 %@", string1, string5); } else { NSLog(@"%@ 不等于 %@", string1, string5); } // 判断是否包括某字符串 // 1 字符串是否包含某个前缀 result = [string1 hasPrefix:@"shao"]; if (result) { NSLog(@"yes"); } else { NSLog(@"no"); } // 2 字符串是否包含某个后缀 result = [string1 hasSuffix:@"feng"]; if (result) { NSLog(@"yes"); } else { NSLog(@"no"); } // 3 字符串是否包含某个子串 result = [string1 containsString:@"feng"]; if (result) { NSLog(@"yes"); } else { NSLog(@"no"); }
// 获取子字符串的区间 // 1 获取子串的区间(无条件) NSRange range1 = [string1 rangeOfString:@"zhang"]; if (range1.location == NSNotFound) { NSLog(@"不存在"); } else { NSLog(@"存在 %@", NSStringFromRange(range1)); } // 2 获取子串的区间(带条件) range1 = [string1 rangeOfString:@"zhang" options:NSBackwardsSearch]; if (range1.location == NSNotFound) { NSLog(@"不存在"); } else { NSLog(@"存在 %@", NSStringFromRange(range1)); }
// 字符串拼接 // - (NSString *)stringByAppendingString:(NSString *)aString; string1 = [string1 stringByAppendingString:@" meizhou"]; NSLog(@"%@", string1);
// 字符串属性值 // 1 字符串长度 NSInteger lengthString = string1.length; NSLog(@"lengthString = %ld", lengthString); // 2 数值型字符串转换成基本数值 // @property (readonly) double doubleValue; NSLog(@"%f", string1.doubleValue); NSString *numberString = @"123456"; double doubleString1 = numberString.doubleValue; NSLog(@"%f", doubleString1); // @property (readonly) float floatValue; float floatString1 = numberString.floatValue; NSLog(@"%f", floatString1); // @property (readonly) int intValue; // @property (readonly) NSInteger integerValue NS_AVAILABLE(10_5, 2_0); // @property (readonly) long long longLongValue NS_AVAILABLE(10_5, 2_0); // @property (readonly) BOOL boolValue NS_AVAILABLE(10_5, 2_0); // 3 转换成大小 // @property (readonly, copy) NSString *uppercaseString; NSLog(@"%@", string1); string1 = [string1 uppercaseString]; NSLog(@"%@", string1); // 4 转换成小写 // @property (readonly, copy) NSString *lowercaseString; NSLog(@"%@", string1); string1 = [string1 lowercaseString]; NSLog(@"%@", string1); // @property (readonly, copy) NSString *capitalizedString; string5 = [string5 capitalizedString]; NSLog(@"%@", string5); // @property (readonly, copy) NSString *localizedUppercaseString NS_AVAILABLE(10_11, 9_0); string5 = [string5 localizedUppercaseString]; NSLog(@"%@", string5); // @property (readonly, copy) NSString *localizedLowercaseString NS_AVAILABLE(10_11, 9_0); string5 = [string5 localizedLowercaseString]; NSLog(@"%@", string5); // @property (readonly, copy) NSString *localizedCapitalizedString NS_AVAILABLE(10_11, 9_0); string5 = [string5 localizedCapitalizedString]; NSLog(@"%@", string5); // @property (nullable, readonly) __strong const char *UTF8String NS_RETURNS_INNER_POINTER; NSLog(@"%s", string5.UTF8String); // @property (readonly) NSStringEncoding fastestEncoding; // Result in O(1) time; a rough estimate NSLog(@"%lu", (unsigned long)string5.fastestEncoding); // @property (readonly) NSStringEncoding smallestEncoding; NSLog(@"%lu", (unsigned long)string5.smallestEncoding); // 字符转换(C语言字符串与Objective-C字符串互转) const char *stringC = "123456"; NSLog(@"stringC %s", stringC); string1 = [NSString stringWithUTF8String:stringC]; NSLog(@"string1 %@", string1);
// 创建可变字符串 NSString *string = @"zhangshaofeng"; NSMutableString *string1 = [[NSMutableString alloc] initWithString:string]; NSLog(@"string1 %@", string1); NSMutableString *string2 = [[NSMutableString alloc] initWithFormat:@"%@", string]; NSLog(@"string2 %@", string2); NSMutableString *string3 = [[NSMutableString alloc] init]; [string3 setString:string]; NSLog(@"string3 %@", string3); NSMutableString *string4 = [[NSMutableString alloc] initWithCapacity:15]; [string4 appendString:string]; NSLog(@"string4 %@", string4); NSMutableString *string5 = [NSMutableString stringWithString:string]; NSLog(@"string5 %@", string5); NSMutableString *string6 = [NSMutableString stringWithFormat:@"%@", string]; NSLog(@"string6 %@", string6); NSMutableString *string7 = [NSMutableString string]; [string7 appendString:string]; NSLog(@"string7 %@", string7);
<pre name="code" class="objc">// 字符串拼接 // 1 拼接在原字符串后面(无格式拼接) [string7 appendString:@", from meizhou"]; NSLog(@"string7 %@", string7); // 2 拼接在原字符串的指定位置(格式化拼接) [string7 appendFormat:@"%@%@%@%@", @",", @"in", @" ", @"guangdong"]; NSLog(@"string7 %@", string7);
// 字符串替换 string = [string7 stringByReplacingOccurrencesOfString:@"meizhou" withString:@"wuhua"]; NSLog(@"string %@", string);
// 重新初始化新值 [string7 setString:string]; NSLog(@"string %@", string);
// 在指定位置插入指定字符串 [string7 insertString:@" woker " atIndex:0]; NSLog(@"string7 %@", string7);
// 删除指定范围的字符串 NSRange rangeDelete = NSMakeRange(0, 7); [string7 deleteCharactersInRange:rangeDelete]; NSLog(@"string7 %@", string7);
相关文章推荐
- Ehcache框架简单使用
- java基于poi模板excel导出
- MySQL之alter语句用法总结
- hello world
- iOS 的 APP 在系统中如何适配不同的屏幕的尺寸
- 从头到尾彻底理解KMP(2014年8月22日版)(转载)
- 设计一个有getMin功能的栈
- 认识JAVA数组
- iOS应用图标像素大小、图标命名要求、启动图等要求
- iOS 7的手势滑动返回功能
- (ZZ)CentOS yum 源的配置与使用
- cmd命令提示符大全(2)
- Android自助餐之XML
- 今日头条学习(1)_实现滑动标题栏
- Java虚拟机4:内存溢出
- android 启动界面
- 染色问题(n个格子,3种颜色)
- AJAX实现瀑布流触发分页与分页触发瀑布流的方法
- SQL的JOIN语法解析(inner join, left join, right join, full outer join的区别)
- N个免费DevOps开源工具,没用过,至少应该了解!