#pragma mark 初始化方法
NSString *str1 =@"A String!";
NSLog(@"%@",str1);
NSString *str2 = [[NSString alloc] init];
str2 = @"A String!!!!";
NSLog(@"%@",str2);
NSString * str3 = [[NSString alloc] initWithFormat:@"我今年%i岁",24];
NSLog(@"%@",str3);
NSString * stringName =@"胡明涛";
NSString * str4 = [[NSString alloc] initWithFormat:@"我叫%@",stringName];
NSLog(@"%@",str4);
// 将C语言字符串格式转化为NSString格式
const char * cString = "胡明涛";
NSString * str5 = [[NSString alloc] initWithCString:cString encoding:NSUTF8StringEncoding];
NSLog(@"%@",str5);
// -(const char*)UTF8String返回UTF8编码格式的字符串
NSString * string =@"胡明涛";
const char * cString1 = [string UTF8String];
NSLog(@"%s",cString1);
// 便利构造器方法(类方法+)
NSString * str6 = [NSString stringWithFormat:@"胡明涛%i岁",24];
NSLog(@"%@",str6);
// 获取字符串的长度
NSString * str7 =@"胡明涛想要学好iOS";
NSLog(@"%zi",[str7 length]); // 10
// 判断字符串是否以指定字符串开头
NSString * str8 =@"好想玩召唤师,今天想要打DOTA";
NSLog(@"%i",[str8 hasPrefix:@"好想"]); // 1
// 判断字符串是否以指定字符串结尾
NSLog(@"%i",[str8 hasSuffix:@"DOTA"]); // 1
// 判断字符串是否包含指定字符串,返回位置和长度
NSRange range = [@"123456" rangeOfString:@"456"];
NSLog(@"%@",NSStringFromRange(range)); // 返回{3,3},下标从0开始
// 反向搜索
NSRange range2 = [@"胡明涛今天玩召唤师卡尔得了MVP,召唤师32杀0死35助" rangeOfString:@"召唤师" options:NSBackwardsSearch];
NSLog(@"%@",NSStringFromRange(range2)); // 返回{17,3}
// 指定范围进行搜索
NSRange range1 =NSMakeRange(0,20);
range1 = [@"胡明涛今天玩召唤师卡尔得了MVP,32杀0死35助" rangeOfString:@"召唤师" options:NSBackwardsSearchrange:range1];
NSLog(@"%@",NSStringFromRange(range1)); // 返回{6,3}
// 替换字符串stringByReplacingOccurrencesOfString
NSString * str11 =@"胡明涛今天玩召唤师卡尔得了MVP,召唤师32杀0死35助";
1.NSString * str12 = [str11 stringByReplacingOccurrencesOfString:@"胡明涛" withString:@"HMT"];
NSLog(str12,nil);
2.NSString * str121 = [str11stringByReplacingCharactersInRange:NSMakeRange(0,3)withString:@"HMT"];
NSLog(@"%@",str121);
3.NSString * str13 = [str11 stringByReplacingOccurrencesOfString:@"胡明涛" withString:@"HMT" options:NSNumericSearch range:NSMakeRange(0,3)];
NSLog(str13,nil);
// 字符串的截取
NSString *str9 = @"123456789";
NSLog(@"%@",[str9 substringFromIndex:3]); // 从第3个位置开始截取,包括第3个数, 返回456789
NSLog(@"%@",[str9 substringToIndex:6]); // (注意)截取到第6个位置,但是不包括第6个数, 返回123456
NSLog(@"%@",[str9 substringWithRange:NSMakeRange(3, 3)]); // 456
// 以某个标记来分割字符串
NSString *str2 =@"a-b-c-d-5";
NSArray *array = [str2 componentsSeparatedByString:@"-"];
NSLog(@"%@", array); // 打印的是数组{a,b,c,d,5}
// 字符串转为 int其他float,double同理(doubleValue floatValue longLongValue integerValue boolValue)
NSString *str10 =@"8455";
NSLog(@"%i",[str10 intValue]);
// int类型转化为字符串类型
int intString = 9999;
NSString *intString = [NSStringstringWithFormat:@"%i",intString];
#pragma mark 字符串的拼接
NSString *str14 =@"我是召唤师";
NSString *str15 =@"我是油条";
NSString *result;
//方法1
result = [str14 stringByAppendingString:str15];
NSLog(result,nil);
//方法2
result = [NSStringstringWithFormat:@"%@%@",str14, str15];
NSLog(result,nil);
//方法3
result = [@""stringByAppendingFormat:@"%@%@", str14, str15];
NSLog(result,nil);
// 比较两个字符串内容是否相同
BOOL b =[str16 isEqualToString:str17];
// 比较两个字符串的内容大小
[str16 compare:(NSString *)str17];
[str16 compare:(NSString *)str17 options:(NSStringCompareOptions)];
[str16 compare:(NSString *)str17 options:(NSStringCompareOptions) range:(NSRange)];
返回值类型:@ NSComparisonResult <------------------------------------------------------------------------
typedef enum _NSComparisonResult {
NSOrderedAscending = -1, // < 升序
NSOrderedSame, // = 等于
NSOrderedDescending // > 降序
} NSComparisonResult;
@ 这里说一下 NSStringCompareOptions 这个参数是个枚举值 :
enum{
NSCaseInsensitiveSearch = 1, //不区分大小写比较
NSLiteralSearch = 2, //区分大小写比较
NSBackwardsSearch = 4, //从字符串末尾开始搜索
NSAnchoredSearch = 8, //搜索限制范围的字符串
NSNumbericSearch = 64//按照字符串里的数字为依据,算出顺序。例如 Foo2.txt < Foo7.txt < Foo25.txt
//以下定义高于 mac os 10.5 或者高于 iphone 2.0 可用
NSDiacriticInsensitiveSearch = 128, //忽略 "-" 符号的比较
NSWidthInsensitiveSearch = 256, //忽略字符串的长度,比较出结果
NSForcedOrderingSearch = 512//忽略不区分大小写比较的选项,并强制返回 NSOrderedAscending 或者 NSOrderedDescending
//以下定义高于 iphone 3.2 可用
NSRegularExpressionSearch = 1024//只能应用于 rangeOfString:..., stringByReplacingOccurrencesOfString:...和 replaceOccurrencesOfString:... 方法。使用通用兼容的比较方 法,如果设置此项,可以去掉 NSCaseInsensitiveSearch 和 NSAnchoredSearch
}
//全部转为大写
[str18 uppercaseString] // NSString * str18 = @"HUMINGTAO";//全部转为小写
[str18 lowercaseString] // NSString * str18 = @"humingtao";
//首字母大写
[str18 capitalizedString]) // NSString * str18 = @"humingtao";
#pragma mark 从文件中读取文本
//从文件中读取文本
NSString *path =@"/Users/apple/Desktop/test.txt";
//这个方法已经过期,不能解析中文
// NSString *str1 = [NSString stringWithContentsOfFile:path];
// 定义一个NSError变量
NSError *error;
// 指定字符串编码为UTF-8: NSUTF8StringEncoding
NSString *str1 = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:&error];
if (error ==nil) { // 没有错误信息
NSLog(@"读取文件成功:%@", str1);
} else {
NSLog(@"读取文件失败:%@", error);
}
NSURL *url = [NSURL URLWithString:@"file:///Users/apple/Desktop/test.txt"];
NSString *str2 = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];
NSLog(@"%@", str2);
NSURL *url2 = [NSURL URLWithString:@"http://www.baidu.com"];
NSString *str3 = [NSString stringWithContentsOfURL:url2 encoding:NSUTF8StringEncoding error:nil];
NSLog(@"%@", str3);
#pragma mark 拓展名处理
NSString *str = @"/User/HMT/test.txt";
NSLog(@"拓展名:%@", [str pathExtension]);
// 删除拓展名
NSLog(@"%@", [str stringByDeletingPathExtension]); //User/HMT/test
// 添加拓展名
NSLog(@"%@", [@"abc" stringByAppendingPathExtension:@"mp3"]); // abc.mp3 自动加上了点号