1、判断字符串是否为空
NSString *username=@"doubleicon"; if([username length]==0){ //为空 }
2、合并字符串
NSString *tip=@"我的名字是:"; NSString *username=@"doubleicon"; NSString *result; //方法一 result=[tip stringByAppendingString:username]; self.label.text=result; //方法二 result=[NSString stringWithFormat:@"%@%@",tip,username]; self.label.text=result; //方法三 result=[@"" stringByAppendingFormat:@"%@%@",tip,username]; self.label.text=result; //方法四 NSMutableString *mutablestring=[[NSMutableString alloc] init]; [mutablestring appendString:tip]; [mutablestring appendString:username]; self.label.text=mutablestring; [mutablestring release];
3、搜索、替换字符串
字符串的搜素
NSString *string1=@"欢迎访问 doubleicon 的博客"; NSString *search=@"访问"; NSRange range=[string1 rangeOfString:search]; self.label.text=[NSString stringWithFormat:@"搜素的字符串在string1的起始位置%d",range.location]; self.label1.text=[NSString stringWithFormat:@"搜素的字符串在string1的结束位置%d",range.location+range.length];
字符串的替换//将搜素到的字符串替换为一个新的字符串 NSString *str=[string1 stringByReplacingCharactersInRange:range withString:@"我的"]; self.label2.text=str; //将某个字符串替换为其他字符串 self.label3.text=[string1 stringByReplacingOccurrencesOfString:@"doubleicon" withString:@"csdn"];
4、去除字符串首位的空格和换行符
NSString *text = [textView.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
5、字符串的截取
NSString *string1=@"欢迎访问 doubleicon 的博客"; //NSString *search=@"doubleicon"; //NSRange range=[string1 rangeOfString:search]; //截取字符串,从起始点到index之间的内容 NSString *toindex=[string1 substringToIndex:6]; self.label.text=toindex; //截取字符串index到结尾之间的内容 NSString *fromindex=[string1 substringFromIndex:5]; self.label1.text=fromindex; //设置截取字符串的范围 NSRange range=NSMakeRange(0,4); NSString *stringrange=[string1 substringWithRange:range]; self.label2.text=stringrange;
6、字符串的比较
isEqualToString 比较字符串是否完全相等
hasPrefix 匹配字符串的头部
hasSuffix 匹配字符串的尾部
NSString *string1=@"doubleicon"; NSString *string2=@"double"; //比较字符串是否完全相等 if([string1 isEqualToString:string2]){ //相等 } //匹配字符串的头部 if([string1 hasPrefix:@"double"]){ } //匹配字符串的尾部 if([string1 hasSuffix:@"icon"]){ }
7、字符串的遍历
#pragma mark 从一个字符串中提取指定位置的字符 -(NSString *)getNSString:(NSString *)_string atIndex:(int)_index { NSString *tempString; tempString = nil; if((_string)&&(_index>=0)) { //先计算索引值是否大于字符串的长度,如果大于字符串的长度则索引指向字符串的最后一个位置 if(_index>=[_string length]) { _index = [_string length]; } if(_index==0) { _index = 1; tempString = [_string substringToIndex:_index]; } else { tempString = [[_string substringToIndex:_index]substringFromIndex:(_index-1)]; } } return tempString; }
调用方法:NSString *str=@"欢迎访问doubleicon的博客"; NSInteger count=[str length]; for(int i=0;i<count;i++){ //char c=[str characterAtIndex:i]; NSLog(@"字符串第%d位为%@",i,[self getNSString:str atIndex:i]); //NSLog(@"字符串第%d位为%@",i,c); }
8、多行书写字符串常量
NSString *str1=@"欢迎访问" "doubleicon" "CSDN博客"; NSString *str2=@"欢迎访问\ doubleicon \ CSDN博客";
9、字符串的分割
NSString *str=@"欢,迎,访,问,doubleicon,的,博,客"; NSArray *array = [str componentsSeparatedByString:@","]; for (int i = 0; i < [array count]; i++) { NSLog(@"str:%@", [array objectAtIndex:i]); }
10、用标准c创建NSString字符串
char *Cstring = "欢迎访问 doubleicon 的博客"; NSString *astring = [[NSString alloc] initWithUTF8String:Cstring]; NSLog(@"标准C创建的字符串:%@",astring);
11、字符串大小的比较
NSString *string1=@"this is a string"; NSString *string2=@"this is a string"; //compare方法(comparer返回的三种值) BOOL result=[string1 compare:string2]==NSOrderedSame; NSLog(@"result:%d",result); //NSOrderedSame判断两者内容是否相同 NSString *string3=@"This is a string"; NSString *string4=@"this is a string"; BOOL result1=[string3 compare:string4]==NSOrderedAscending; NSLog(@"result1:%d",result1); //NSOrderedAscending判断两对象值的大小(按字母顺序进行比较,astring02大于astring01为真) NSString *string5=@"this is a string"; NSString *string6=@"this is"; BOOL result2 = [string5 compare:string6] == NSOrderedDescending; NSLog(@"result2:%d",result2); //NSOrderedDescending判断两对象值的大小(按字母顺序进行比较,astring02小于astring01为真) //不考虑大小写比较字符串1 NSString *string7 = @"this is a String!"; NSString *string8 = @"This is a String!"; BOOL result3 = [string7 caseInsensitiveCompare:string8] == NSOrderedSame; NSLog(@"result3:%d",result3); //NSOrderedDescending判断两对象值的大小(按字母顺序进行比较,astring02小于astring01为真) //不考虑大小写比较字符串2 NSString *string9= @"this is a String!"; NSString *string10 = @"This is a String!"; BOOL result4 = [string9 compare:string10 options:NSCaseInsensitiveSearch | NSNumericSearch] == NSOrderedSame; NSLog(@"result4:%d",result4); //NSCaseInsensitiveSearch:不区分大小写比较 NSLiteralSearch:进行完全比较,区分大小写 NSNumericSearch:比较字符串的字符个数,而不是字符值。
12、字符串删除字符位置的字符与在某个位置后面添加字符
//在已有字符串中按照给出的范围和长度删除字符 NSMutableString *mutablestring=[[[NSMutableString alloc] initWithString:@"欢迎访问 doubleicon的博客"] autorelease]; [mutablestring deleteCharactersInRange:NSMakeRange(0, 5)]; NSLog(@"mutablestring:%@",mutablestring); //在已有字符串后面的所指定的位置插入给出的字符串 NSMutableString *mutablestring1=[[[NSMutableString alloc] initWithString:@"欢迎访问的博客"] autorelease]; [mutablestring1 insertString:@"doubleicon" atIndex:4]; NSLog(@"mutablestring1:%@",mutablestring1);
13、字符串去除左右的空格
NSString *result=[result stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];