ios objective-c之-6:字符串NSString

iOS  NSString 最基本用法

1.把字符串写入到制定文件夹中
 NSString *myString = @"huweibin is iOS";
    NSError *error;
    NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:@"tmp/rongtian.txt"];
    if (![myString writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:&error]) {
        NSLog(@"写入文件错误 %@",error);
        return;
    }

2.NSString范围
 NSRange r;
    r.location = 4;
    r.length = 5;
    NSString *strSub = [str substringWithRange:r];
    NSLog(@"范围  %@",strSub);
3.搜索
    NSRange searchRange = [str rangeOfString:@"five"];
    if (searchRange.location != NSNotFound) {
        NSLog(@"搜索 location  %d   %d",searchRange.location,searchRange.length);
    }
4.替换
 NSString *replaced = [str stringByReplacingOccurrencesOfString:@" " withString:@"+"];
    NSLog(@"替换的文件  %@",replaced);

#pragma mark -字符串的比较

void text() {

    NSString * str = @"RongTian";

    // 转成大写

    [str uppercaseString];

    // 转成小写

    [str lowercaseString];

    // 首字母大写,其余小写

    [@"ffEW" capitalizedString];

    

}


#pragma mark 比较2个字符串的大小

void compareString() {

    

    // NSOrderedAscending    -1

    // NSOrderedSame

    // NSOrderedDescending

    

   

  NSComparisonResult result = [@"bmn" compare:@"azz"];

    if (result == NSOrderedSame) {

        NSLog(@" == ");

    }else if (result == NSOrderedDescending) {

        NSLog(@" > ");

    }else if (result == NSOrderedAscending)

    {

        NSLog(@" < ");

    }

    

   

    NSComparisonResult caseInsenresult = [@"dffA" caseInsensitiveCompare:@"dffa"];

    if (caseInsenresult == NSOrderedSame) {

        NSLog(@" == ");

    }else if (caseInsenresult == NSOrderedDescending) {

        NSLog(@" > ");

    }else if (caseInsenresult == NSOrderedAscending)

    {

        NSLog(@" < ");

    }

}


#pragma mark 字符串的搜索

void searchString() {

       NSString *str = @"456789456";

    NSLog(@"是否456开头 %i", [str hasPrefix:@"456"]);

    NSLog(@"是否789结尾 %i",[str hasSuffix:@"789"]);

    

    NSRange range = [str rangeOfString:@"567"];

    if (range.location == NSNotFound) {

        NSLog(@"str中没有找到 567");

    }else {

        NSLog(@"搜索范围 %@",NSStringFromRange(range));

    }

    // 或者

//    if (range.length == 0 ) {

//        NSLog(@"str中没有找到 567");

//    }

   

    // 从尾开始搜索

    range = [str rangeOfString:@"456" options:NSBackwardsSearch] ;

    NSLog(@"从尾搜索的范围 %@",NSStringFromRange(range));

       

//    [str rangeOfString:<#(NSString *)#> options:<#(NSStringCompareOptions)#> range:<#(NSRange)#>]

}

#pragma mark 截取字符串

void subString() {

    NSString *str = @"0987654321";

    NSLog(@"从索引indext3开始到尾截取(包括3 %@",[str substringFromIndex:2]);

    NSLog(@"从头开始截取到索引3(不包括3%@",[str substringToIndex:3]);

   

    NSRange range = NSMakeRange(23);

    [str substringWithRange:range];

    

   

    NSString *str2 = @"a-b-c-d-e";

    NSArray *array = [str2 componentsSeparatedByString:@"-"];

    NSLog(@"通过 - 分割后的数组:%@",array);

    

}

#pragma mark 字符串与路径

void pathString() {

    NSMutableArray *comArrat = [NSMutableArray arrayWithObjects:@"User",@"Rongtian",@"Desktop" ,nil];

   

    NSString *path = [NSString pathWithComponents:comArrat];

    NSLog(@"path  %@",path);

    

   

    NSArray *arra = [path pathComponents];

}


1.拼接数组
NSMutableArray *arr = [NSMutableArray arrayWithObjects:@"aa",@"bb",@"cc",@"dd",@"ee", nil];
    
    NSArray *muArray = [NSArray arrayWithObjects:@"11",@"22",@"33",@"44",@"55", nil];
    NSLog(@"合并的数组是   %@",[arr arrayByAddingObjectsFromArray:muArray]);
2.把数组转成字符串
    NSArray *muArray = [NSArray arrayWithObjects:@"11",@"22",@"33",@"44",@"55", nil];
    NSLog(@"mutalbe   %@",[muArray componentsJoinedByString:@" "]);

#pragma mark NSString扩展名处理

void externsion() {

   

    NSString *str = @"User/Rogntian.text";

    NSLog(@"文件的扩展名 %@", [str pathExtension]);


   

    NSLog(@"%@",[str stringByDeletingPathExtension]);

    

   

    NSLog(@"%@",[@"abb" stringByAppendingPathExtension:@"mov"]);

    

}


#pragma mark 其他用法

void other() {

   

    unichar c = [@"rongtian" characterAtIndex:3];

    NSLog(@"%c",c);

}


// ============================= <NSMutableString> ===================================

#pragma mark 可变字符串的创建

void stringCreate() {

   

    NSMutableString *str = [[NSMutableString alloc]initWithCapacity:10];

    // 设置字符串的内容

    [str setString:@"2356"];

        // 拼接一个字符串

    [str appendString:@"789"];    

    // 查找 356 nsrange

  NSRange range = [str rangeOfString:@"356"];

    [str replaceCharactersInRange:range withString:@"11111"];

    

    // 插入字符串

    [str insertString:@"pola" atIndex:3];

    

     // 删除字符串

    range = [str rangeOfString:@"356"];

    [str deleteCharactersInRange:range];

}  


小结: 

1)rangeOfString:截取指定字符串的长度;

2) substringToIndex:7:截取从0 索引到指定索引(7)长度的字符串

3) substringFromIndex:9:截取从指定索引(9)到末尾长度的字符串

4) NSRange range = NSMakeRange(0,7);截取从指定索引(0)到指定(7)长度的字符串

5) substringWithRange:range:截取从指定索引(0)到指定(7)长度的字符串

6 )isEqualToString:@"p://www":比较字符串包含关系,区分大小写

7) stringWithFormat:格式化字符串。

 

void findSubString(){

NSString *filename = @"config.ini";

NSString *escapedPath = @"/Users/config.ini";

//escapedPath中查找filename

//NSRange iStart = [escapedPath rangeOfString :filename];

NSRange iStart = [escapedPath rangeOfString: filename options:NSCaseInsensitiveSearch];

   // NSLog(@"iStart length is %@:",iStart.length);

   // NSLog(@"iStart location is %@:",iStart.location);

if (iStart.length > 0){

//获取从escapedPath开始位置到iStart.location-1长度的子字符串

NSString *subStr = [escapedPath  substringToIndex:iStart.location-1]; 

NSLog(@"subStr:%@",subStr);

    //获取从escapedPathiStart.location+1开始到末尾的子字符串

    NSString *extension  = [escapedPath  substringFromIndex:iStart.location]; 

    NSLog(@"extension:%@",extension);    

NSString *url = @"http://www.sevenuc.com";

NSRange range = NSMakeRange(3,7);

NSString* prefix = [url substringWithRange:range];

        NSLog(@"prefix is:%@",prefix);

        if([prefix isEqualToString:@"p://www"])

        {

            NSLog(@"prefix is equal %@",prefix);

        }

        else {      

            NSLog(@"prefix is not equal %@",prefix);

        }

//获取url0开始共7个字符的子字符串 

if ( [prefix isEqualToString:@"http://"] )

NSLog(@"http prefix found");

}

}

 

void formatString(){

    int documentId=100;

    NSString *documentFileName=@"test.doc";

    NSString *requestSring=[NSString stringWithFormat:@"<files><fileid>%d</fileid><filename>%@</filename></files>",documentId,documentFileName];

    

    NSLog(@"requestString:%@",requestSring);

}




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值