NSString的常用方法,包括查找、切割、比较
// // main.m // NSString的各种常用方法 // // Created by zzqiltw on 14-5-26. // Copyright (c) 2014年 zzqiltw. All rights reserved. // #import <Foundation/Foundation.h> #pragma mark 字符串的比较 void testCompare() { if ([@"abc" isEqualToString:@"abc"]) { NSLog(@"两个字符串内容相等"); } /* typedef NS_ENUM(NSInteger, NSComparisonResult) {NSOrderedAscending = -1L, NSOrderedSame, NSOrderedDescending}; */ NSComparisonResult result = [@"abc" compare:@"aBd"]; if (result == NSOrderedAscending) { //升序,即左边 < 右边 NSLog(@"左边 < 右边"); } else if (result == NSOrderedSame) { NSLog(@"左边 = 右边"); } else { //NSOrderedDescending降序 NSLog(@"左边 > 右边"); } } #pragma mark 字符串的搜索 void testSearch() { NSString *str = @"123haha.txt"; BOOL result = [str hasPrefix:@"123"]; NSLog(@"是否以123开头?%i", result); result = [str hasSuffix:@".txt"]; NSLog(@"是否以.txt结尾?%i", result); // 类似于Java中得indexOf NSRange range = [str rangeOfString:@"ha"]; if (range.location != NSNotFound) { NSLog(@"找到字符串!范围是:%@", NSStringFromRange(range)); } else { NSLog(@"找不到字符串!"); } // 从尾部开始找 range = [str rangeOfString:@"ha" options:NSBackwardsSearch]; NSLog(@"%@", NSStringFromRange(range)); } #pragma mark 字符串截取(Java subString) void testSubString() { NSString *str = @"123456789"; // 从5(包括5)截到结尾:6789 NSString *sub = [str substringFromIndex:5]; NSLog(@"%@", sub); // 从开头截到5(不包括5):12345 sub = [str substringToIndex:5]; NSLog(@"%@", sub); // 给定一个范围截取:从索引3开始长度为2的范围(45) NSRange range = NSMakeRange(3, 2); sub = [str substringWithRange:range]; NSLog(@"%@", sub); // 切割字符串(Java split) NSString *str2 = @"abc-de-f-ghi"; NSArray *array = [str2 componentsSeparatedByString:@"-"]; NSLog(@"%@", array); } #pragma mark 字符串和其他类型转换 void testTransf() { // 转整型 NSString *str = @"123"; int a = [str intValue]; NSLog(@"%i", a); // 计算长度 NSLog(@"%zi", [@"Hello世界" length]); // 取出字符 unichar c = [str characterAtIndex:0]; NSLog(@"%c", c); // 转换成C语言风格的字符串 const char *s = [str UTF8String]; NSLog(@"%s", s); } #pragma mark main int main(int argc, const char * argv[]) { @autoreleasepool { // testCompare(); // testSearch(); // testSubString(); testTransf(); } return 0; }
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。