1、NSString

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

1、NSString1.字符串的创建 //创建一个新的空字符串NSstring *string= [NSstringstring]//初始化一个字符串,在赋值NSString *string=[[NSString alloc] init];string=@"tianqi";

NSstring*string=@"hello";

NSString*string= [NSString stringWithString:@"hello world"];

NSString*string= [[NSString alloc] initWithString:@"hello world!"];

NSString*str = [stringstringByAppendingString:@"\nttt"];//把C的字符串转化为OC的字符串NSString *str = [[NSString alloc] initWithUTF8String:"hello world"];

NSString*str2 = [NSString stringWithUTF8String:"hello world"];//用格式化字符串初始化 可完成字符串的拼接以及完成C的字符串与OC的字符串的转化inta =123;

NSString*str = [[NSString alloc]initWithFormat:@"a = %d %s%@", a,"abcd",@"efg"];

NSString*str3 = [NSString stringWithFormat:@"%s","hello world"];

2.字符串的转换NSString * str =@"hello";constchar*p = [str UTF8String];//将OC字符串转化为C的字符串str=@"123";inta = [str intValue];//将数字串转化成整型数据[str floatValue];//将数字串转化成float型[str doubleValue];//将数字串转化成double型//结构体 输出//结构体 [点] 转换字符串NSString *str =NSStringFromPoint(point);//结构体 [尺寸] 转换字符串NSString *str =NSStringFromSize(size);//结构体 [矩形] 转换字符串NSString *str = NSStringFromRect(rect);

3.字符串大小写转换//全部转为大写//结果 ABC[@"abc"uppercaseString]//全部转为小写//结果 bcd[@"BCD"lowercaseString]//首字母大写//结果 Acb[@"acb"capitalizedString]

4.字符串比较//比较两个字符串内容是否相同//相等返回 yes 不相等返回 noBOOL b =[str isEqualToString:str2];//忽略大小写进行比较NSComparisonResult result = [stringcaseInsensitiveCompare:str];

NSComparisonResult result= [stringlocalizedCaseInsensitiveCompare:str];//两个字符串内容比较//NSComparisonResult result = {NSOrderedAscending, NSOrderedSame,NSOrderedDescending}//NSOrderedAscending 右边 > 左边 == -1//NSOrderedSame 内容相同 == 0//NSOrderedDescending 左边 > 右边 == 1NSComparisonResult result=[str compare:str2];

NSComparisonResult result= [stringcompare:@"taojian"options:NSCaseInsensitiveSearch];

NSComparisonResult result= [stringcompare:@"taojian"options:NSCaseInsensitiveSearch range:NSMakeRange(0,string.length)];

NSComparisonResult result= [stringcompare:@"taojian"options:NSCaseInsensitiveSearch range:NSMakeRange(0,string.length) locale:nil];

NSComparisonResult result= [stringlocalizedCompare:str];

options://枚举参数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 可用 ,///只能应用于 rangeOfString:..., stringByReplacingOccurrencesOfString:...和 replaceOccurrencesOfString:... 方法。///使用通用兼容的比较方法,如果设置此项,可以去掉 NSCaseInsensitiveSearch 和 NSAnchoredSearcNSRegularExPRessionSearch =1024}

5.字符串搜索//判断字符串是否以abc开头[@"abcdfa"hasprefix:@"abc"];//判断字符串是否bcd结尾[@"adbcd"hasSuffix:@"bcd"];//判断字符串是否包含指定字符串,返回位置和长度NSRange range = [@"123456"rangeOfString:@"456"];//反向搜索NSRange range = [@"123456456qweasasd456"rangeOfString:@"456"options:NSBackwardsSearch];//指定范围进行搜索NSRange range = NSMakeRange(0,9);

range= [@"123456456qweasasd456"rangeOfString:@"456"options:NSBackwardsSearch range:range];//找与之开头相同的字符NSString *string=@"fg s abcdefg hijklmn s d \n fdsgf";

NSString*str = [stringcommonPrefixWithString:@"fg"options:NSLiteralSearch];

6. 字符串截取NSString * str5 =@"helloworld";

NSString* ptr1 = [str5 substringToIndex:2];//字符串抽取 从下标0开始到4 不包括4NSString * ptr2 = [str5 substringFromIndex:4];//从下标5开始抽取到字符串结束 包括5NSRange range1 = {6,2};//结构体初始化NSString * ptr3 = [str5 substringWithRange:range1];//在range指定范围内抽取NSString * ptr4 = [str5 substringWithRange:NSMakeRange(6,2)];//NSMakeRange可以生成一个结构体

7.字符串的遍历//根据\n遍历NSString *string=@"s abcdefg hijklmn s d \n fdsf";//根据\n一行一行的打印[stringenumerateLinesUsingBlock:^(NSString *line, BOOL *stop)

{

NSLog(@"\n%@",line);

}

];//根据 条件options 遍历NSString *string=@"s abcdefg hijklmn s d";

NSMutableString* mutableString = [NSMutableStringstring];//NSStringEnumerationByWords:将string按空格分开,并且会自动清理首尾的空格//这个方法会把中间多余的空格也清理掉,比如上面的字符串,s和d之间有两个空格,会变成一个空格[stringenumerateSubstringsInRange:NSMakeRange(0,string.length) options:NSStringEnumerationByWords usingBlock:^(NSString *substring, NSRange substringRange, NSRange enclosingRange, BOOL *stop)

{

[mutableString appendFormat:@"%@",substring];

}];//删除我们添加的末尾的一个空格[mutableString deleteCharactersInRange:NSMakeRange(outputString.length-1,1)];

8.路径操作与数组操作//用指定字符串分割字符串,返回一个数组NSArray *array = [@"1,2,3,4,5,6"componentsSeparatedByString:@","];//根据空格拆分NSArray *array = [stringcomponentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];//将数组中的字符串组合成一个文件路径NSMutableArray *components =[NSMutableArray array];

[components addObject:@"Users"];

[components addObject:@"CentralPerk"];

[components addObject:@"Desktop"];

NSString*path =[NSString pathWithComponents:components];

NSLog(@"%@",path);//Users/CentralPerk/Desktop//将一个路径分割成一个数组NSArray *array1 =[path pathComponents];

NSLog(@"%@",array1);//判断是否为绝对路径(依据:是否以'/'开始)path =@"/Users/CentralPerk/Desktop";

NSLog(@"%i",[path isAbsolutePath]);//获取最后一个目录NSLog(@"%@",[path lastPathComponent]);//删除最后一个目录NSLog(@"%@",[path stringByDeletingLastPathComponent]);//拼接一个目录NSLog(@"%@",[path stringByAppendingPathComponent:@"aaa"]);//Users/CentralPerk/Desktop/aaaNSLog(@"%@",[path stringByAppendingString:@"aaa"]);//Users/CentralPerk/DesktopaaaNSLog(@"%@",[path stringByAppendingFormat:@"%@%@",@"b",@"c"]);//Users/CentralPerk/Desktopbc

9.文件扩展名//拓展名出来//获取拓展名,不带.NSString *str2 =@"Users/CentralPerk/Desktop/test.txt";

NSLog(@"%@",[str2 pathExtension]);//添加拓展名,不需要带.NSLog(@"%@",[str2 stringByAppendingPathExtension:@"mp3"]);//删除拓展名,带.一块删除NSLog(@"%@",[str2 stringByDeletingPathExtension]);

10.文件操作//将字符串设置为path制定的文件的内容-(id) initWithContentsOfFile:path encoding:enc error:err//创建一个新字符串并将其设置为path指定的文件的内容,使用字符编码enc,如果非零,则返回err中错误+(id) stringWithContentsOfFile:path encoding:enc error:err// 将字符串设置为url(NSURL*)url的内容,使用字符编码enc,如果非零,则返回err中的错误-(id) initWithContentsOfURL:url encoding:enc error:err//创建一个新的字符串,并将其设置为url的内容,使用字符编码enc,如果非零,则返回err中的错误+(id) stringWithContentsOfURL:url encoding:enc error:err

11.补充//求字符串长度[str1 length]//获取字符串中的字符[str1 characterAtIndex:1]//清楚左右两段的空格NSString *str = [stringstringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];//在字符串后面补0NSString *str = [stringstringByPaddingToLength:12withString:@"0"startingAtIndex:0];

2、NSMutableString//将不可变的字符串转换为可变的字符串NSMutableString * str = [[NSMutableString alloc]initWithString:@"hello world"];//在指定下标为2的(不要越界)位置插入013字符串[str insertString:@"013"atIndex:2];//在字符串末尾追加字符串taotao[str appendString:@"taotao"];//从0位置删除2个字符[str deleteCharactersInRange:NSMakeRange(0,2)];//给字符串重新赋值[str setString:@"yintian"];//将3位置后1个字符替换成ios字符串[str replaceCharactersInRange:NSMakeRange(3,1) withString:@"ios"];//根据选项 opts ,使用指定 range 中的nsstring2 替换所有的 nsstring-(void)replaceOccurrencesOfString:nsstring withString:nsstring2 options:opts range:range

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航