1.把字符串分割成为数组
NSString *str_1 = @"str1;str2,str3?str4";
NSArray *array = [str_1 componentsSeparatedByCharactersInSet:[NSCharacterSet punctuationCharacterSet]];//把所有的符号分割开输出的数组:
array __NSArrayM * @"4 objects" 0x08e9b3a0
[0] __NSCFString * @"str1" 0x08e3d6a0
[1] __NSCFString * @"str2" 0x08e39d00
[2] __NSCFString * @"str3" 0x08e39d10
[3] __NSCFString * @"str4" 0x08e2c2c0
eg:
NSString *a = [[NSString alloc] initWithString : @"冬瓜,西瓜,火龙果,大头,小狗" ];
NSArray *b = [a componentsSeparatedByString:@“,”];//字符串的截取
NSString *a3 = [b objectAtIndex:2];
NSLog(@"\n b的第三个东东是: %@", a3);
[a release];
2.数组包含
- (NSString *)substringWithRange:(NSRange)range;
NSMakeRange是一个结构体类型,包含两个参数,位置和长度。表示字符串要传进来从哪里开始的位置和需要的长度。
substringWithRange需要传进来NSRange类型,表示从哪里开始截取和长度,返回字符串类型。例如, NSString *bankCardString = [respDict objectForKey:kQFTrackData];
NSRange bankRang = NSMakeRange(0, 3);
NSString *bankStr1 = [bankCardString substringWithRange:bankRang];
substringToIndex表示从第一个字符串开始截取,到指定长度位置,但是不包括该指定位置位置字符串,例如 NSString *balanceDateString = [respDict objectForKey:kQFTime];
NSString *ymdString = [balanceDateString substringToIndex:10];
//再从已有字符串中截取
//年
NSString *yearStr = [ymdString substringToIndex:4];
substringFromIndex表示从指定位置开始截取字符串到最后,所截取位置包含该指定位置。
NSRange monthRang = NSMakeRange(5, 2);
NSString *monthStr = [ymdString substringWithRange:monthRang];
//日
NSString *dayStr = [ymdString substringFromIndex:8];
3.将字符串中某一字符串替换为给定的字符串,返回一个新的字符串的方法
- (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target withString:(NSString *)replacement;
如:
NSString *_date = @"2011.10.21";
NSString *dateStr = [_date stringByReplacingOccurrencesOfString:@"."withString:@"-"];
得到:dateStr = 2011-10-21
4.字符串数组排序
NSArray *stringArray = [NSArray arrayWithObjects:@"abc 1", @"abc 21", @"abc 12",@"abc 13",@"abc 05",@"bc 05",@"c 05",@"zhang",@"wang",nil];/*
#if NS_BLOCKS_AVAILABLE
typedef NSComparisonResult (^NSComparator)(id obj1, id obj2);
#endif
*/
NSComparator sortBlock = ^(id string1, id string2)
{
return [string1 compare:string2];
};
NSArray *sortArray = [stringArray sortedArrayUsingComparator:sortBlock];
NSLog(@"sortArray:%@", sortArray);
5.字符串的拼接法
NSString *documentpath_2 = [NSHomeDirectory() stringByAppendingString:@"/Douments"];字符串的拼接法2
NSString *documentpath_3 = [Str stringByAppendingString:@"Douments"];
NSLog(@"Document应用在沙盒中的路径是:%@",documentPath_1);
6.判断开始,判断结尾
[str hasPrefix:@"1"]; //判断开始是否为“1”
[str hasSuffix:@"3"]; //判断结尾是否为“1”
[str rangeOfString:@"2"].location != NSNotFound;//判断字符串中是否有2,或者下面一种
//[str rangeOfString:@"2"].length != 0;
7.对字符串进行特殊处理,过滤换行符以及空格
8.把特殊类型转化成字符串类型 
NSString *str = @"123456";
NSRange range = [str rangeOfString:@"12"];
9.把特殊类型转化成字符串类型,应该输出{0,2},意思是从第0个开始,往后找2个字符
NSLog(@"%@",NSStringFromRange(range));
10.筛选字符串中特定的字符串
NSString *str = @"公司电话:5515-0055";
NSString *phoneStr = [str componentsSeparatedByCharactersInSet:[[NSCharacterSet characterSetWithCharactersInString:@" ( / - / 0 / - / 1 / - / 2 / - / 3 / - / 4 / - / 5 / - / 6 / - / 7 / - / 8 / - / 9 / - / ) "] invertedSet]] componentsJoinedByString:@""];
NSLog(@"输出结果:%@",phoneStr);
打印输出:输出结果:5515-0055