object-C 之 foundation--NSString_常用方法


#import <Foundation/Foundation.h>


#pragma mark 大小写


void caseTest(){

    NSString *str=@"this is my first string";

    

    //转为大写

    NSLog(@"Capital words:%@",[str uppercaseString]);

    //转为小写

    NSLog(@"lower words:%@",[str lowercaseString]);

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

    NSLog(@"the first word is capital:%@",[str capitalizedString]);

    

}


#pragma mark 比较字符串

void campare(){

    //检测字符串的内容

    bool result=[@"abc" isEqualToString:@"ABC"];

    NSLog(@"%i",result);

    //转为ascii码比较

    NSComparisonResult result2=[@"abc" compare:@"ABC"];

    //忽略大小写比较

    NSComparisonResult reslt3=[@"abc" caseInsensitiveCompare:@" ABC"];

    //NSOrderedSame 两边字符串的内容相同

    //NSOrderedAscending 右边>左边

    //NSOrderedDescending 右边<左边

    if (result2==NSOrderedSame) {

        NSLog(@"same");

    } else if (result2==NSOrderedAscending) {

        NSLog(@"right>left");

    }else if(result2==NSOrderedDescending){

        NSLog(@"left>right");

        

    }

}


#pragma mark 搜索

void search(){

    NSString *str=@"123456456.txt";

    //hasPrefix检测开头

    //hasSuffix检测结尾

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

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

    

    //rangeOfString返回在字符串中的位置

    //找到返回:location length

    //如果没有,location返回nsnotfound, length返回0

    //只找到第一个就结束

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

    if(range.length==0){

        NSLog(@"can not find");

    }else {

    

    NSLog(@"%@",NSStringFromRange(range));

    }

    

    //从尾部开始搜索

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

    NSLog(@"%@",NSStringFromRange(range2));

    

    //制定范围搜索

 /*   NSRange range3=[str rangeOfString:@"456" options:NSBackwardsSearch range:(<#NSRange range#>)];

    NSLog(@"%@",NSStringFromRange(range2));*/

}


# pragma mark 字符串的截取

void subString(){

    NSString *str=@"12345678";

    //从索引3截取到尾部(包括3

    NSLog(@"%@",[str substringFromIndex:3]);

    

    //从头部截取到索引3以前(不包括3

    NSLog(@"%@",[str substringToIndex:3]);

    

    //指定范围进行截取

    //先定义范围

    NSRange range=NSMakeRange(3, 2);

    NSLog(@"%@",[str substringWithRange:range]);

}


#pragma mark 分割字符串

void separateString(){

    NSString *str=@"1-2-3-4-5";

    

    //“-”为分隔符对字符串进行切割

    //返回值为数组,用array存放

    

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

    NSLog(@"%@",array);

    //根据索引位置取出集合中元素

    NSString *str2=[array objectAtIndex:0];

    NSLog(@"%@",str2);

}


#pragma mark 与路径相关的


void pathTest(){

    //快速创建一个自动释放的可变数组

    NSMutableArray *components =[NSMutableArray array];

    [components addObject:@"users"];

    [components addObject:@"my"];

    [components addObject:@"destop"];

   

    //将数组中的字符串拼接成一个路径之间加上"/"

    NSString *path=[NSString pathWithComponents:components];

    NSLog(@"%@",path);

   

    //将路径切割成数组

    NSArray *comp= [path pathComponents];

    NSLog(@"%@",comp);

    

    //判断绝对路径和相对路径:依据就是路径是不是由开始

    

    path=@"users/my/desktop";

    

    NSLog(@"%i",[path isAbsolutePath]);

    

    //获取最后一个目录

    

    NSLog(@"%@", [path lastPathComponent]);

    

    //删除最后一个目录

    NSLog(@"%@",[path stringByDeletingLastPathComponent]);

    

    //在路径后面拼接一个目录:自动添加"/"

    NSLog(@"%@", [path stringByAppendingPathComponent:@"aa"]);

    

}


#pragma mark 扩展名处理

void extension(){

    NSString *str=@"test.txt";

    //获得扩展名

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

    //删除尾部的扩展名

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

    //尾部添加一个扩展名,自动加“.”

    NSLog(@"%@",[str stringByAppendingPathExtension:@"app"]);

    

}


#pragma mark 其他方法

void other(){

    NSString *str=@"asdfghendjrkke";

    NSString *str2=@"1234";

    //返回字符串的字数

    NSLog(@"%zi",[str length]);

    //返回index位置对应得字符

    unichar c=[str characterAtIndex:3];

    NSLog(@"%c",c);

    //转为c语言的字符串

    NSLog(@"%f", [str2 doubleValue]);

    NSLog(@"%f", [str2 floatValue]);

    NSLog(@"%i", [str2 intValue]);

    const char *s=[str2 UTF8String];

    NSLog(@"%s", s);

}





int main(int argc, const char * argv[])

{


    @autoreleasepool {

        

        // insert code here...

        NSLog(@"Hello, World!");

        

        caseTest();

        campare();

        search();

        subString();

        separateString();

        pathTest();

        extension();

        other();

        

    }

    return 0;

}


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值