IOS NSString常用操作

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]];


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值