一、用字符将NSArray中的元素拼接起来
NSArray *array = [NSArray arrayWithObjects:@"hello",@"world",nil]; //如要用,:等字符串拼接,只需将下面的@" "空格换成@","或@":"即可 NSString *string = [array componentsJoinedByString:@" "]; NSLog(@"string = %@",string);打印结果:hello world
二、截取子串:这里以获取时间为例,利用NSDate获取到当前时间时,有时候只需要日期或者只需要时间
①从字符串开头截取到指定的位置,如
//获取到当前日期时间 NSDate *date = [NSDate date]; //定义日期格式,此处不重点讨论NSDate,故不详细说明,在后面会详细讨论 NSDateFormatter *dateformatter = [[NSDateFormatter alloc] init]; //设置日期格式 [dateformatter setDateFormat:@"YYYY-MM-dd HH:mm"]; //将日期转换成NSString类型 NSString *string = [dateformatter stringFromDate:date]; NSLog(@"\ncurrent = %@",string); //截取日期substringToIndex NSString *currentDate = [string substringToIndex:10]; NSLog(@"\ncurrentDate = %@",currentDate);打印结果:
current = 2013-06-27 11:12
currentDate = 2013-06-27
②抽取中间子串-substringWithRange
//截取月日 NSString *currentMonthAndDate = [string substringWithRange:[NSMakeRange(5, 5)]]; NSLog(@"currentMonthAndDate = %@",currentMonthAndDate);打印结果:
currentMonthAndDate = 06-27
③从某一位置开始截取- substringFromIndex
//截取时间substringFromIndex NSString *currentTime = [string substringFromIndex:11]; NSLog(@"\ncurrentTime = %@",currentTime);
打印结果:
currentTime = 11:25
三、比较字符串NSString *first = @"string"; NSString *second = @"String";①判断两个字符串是否相同-isEqualToString方法
BOOL isEqual = [first isEqualToString:second]; NSLog(@"first is Equal to second:%@",isEqual);打印结果:
first is Equal to second:0
②compare方法比较字符串三个值
NSOrderedSame//是否相同 NSOrderedAscending//升序,按字母顺序比较,大于为真 NSOrderedDescending//降序,按字母顺序比较,小于为真
BOOL result = [first compare:sencond] == NSOrderedSame; NSLog(@"result:%d",result);打印结果:
result:0
BOOL result = [first compare:second] == NSOrderedAscending; NSLog(@"result:%d",result);打印结果:
result:0
BOOL result = [first compare:second] == NSOrderedDecending; NSLog(@"result:%d",result);
result:1
③不考虑大小写比较字符串BOOL result = [first compare:second options:NSCaseInsensitiveSearch | NSNumericSearch] == NSOrderedSame; NSLog(@"result:%d",result);打印结果:
result:1
四、改变字符串大小写NSString *aString = @"A String"; NSString *string = @"String"; //大写 NSLog(@"aString:%@",[aString uppercaseString]); //小写 NSLog(@"string:%@",[string lowercaseString]); //首字母大小写 NSLog(@"string:%@",[string capitalizedString]);打印结果:
aString:A STRING
string:string
string:String
五、在字符串中搜索子串NSString *string1 = @"This is a string"; NSString *string2 = @"string"; NSRange range = [string1 rangeOfString:string2]; NSUInteger location = range.location; NSUInteger leight = range.length; NSString *astring = [[NSString alloc] initWithString:[NSString stringWithFormat:@"Location:%li,Leight:%li",location,leight]]; NSLog(@"astring:%@",astring); [astring release];
打印结果:
astring:Location:10,Leight:6