zoukankan      html  css  js  c++  java
  • NSString的常用方法

    大小写处理 Upper & Lower case

    -(NSString *)uppercaseString     -> Alter to upper all

    -(NSString *)lowercaseString      -> Alter to lower all

    -(NSString *)capitalizedString     ->Initial upper, rest lower

    void caseTest(){

    NSString *str=@"GuangDong";

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

    NSLog(@"capitalizestring:%@",[@"age" capitalizedString]);

    }


    NSString  Cmparison 字符串比较  3

    -(BOOL)isEqualToString:(NSString *)String             ->compare two string content ,if same return YES otherwise return NO

    -(NSComparisonResult)compare:(NSString *)strng     ->compare two string by each letter,return object NSComparisonResult to show the result.

    //NSComparisonResult  is a enum with three values

    //NSOrderedDescending(left>right),NSOrderedAscending,NSOrderedSame

    -(NSComparisonResult)caseInsensitiveCompare:(NSString *)string

    //Ignore upper or lower case, return same to compare

    //敲这么多英文感觉自己好装B啊,哈哈哈

    void compare(){

    BOOL result=[@"abc" isEqualToString:@"Abc"];// return NO(YES =1,NO=0)

    NSLog(@'%i',result);

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

    if(result2==NSOrderedSame){

    NSLog(@"same");

    }else if(result2==NSOrderedAscending){

    NSLog(@"left<right");

    }

    else if(result2==NSOrderedDescending){

    NSLog(@"left>right");

    }

    }

     //Same lower case letter is larger than upper case of 32


     NSString search certain  string. NSString 中搜索字符串

    -(BOOL)hasPrefix:(NSString *)astring     //Whether start with astring

    -(BOOL)hasSuffix:(NSString *)astring     //Whether end with a string

    -(NSRange)rangeOfString:(NSString *)astring

    //Check whether include (first)astring ,if include,return the position of astring,if not,return location as -1 of NSRange,length is 0

    -(NSRange)rangeOfString:(NSString *)astring options:(NSStringCompareOptions):mask 

    //Passing a parameter mark ,change retrieval method.

    -(NSRange)rangeOfString:(NSString *)astring options:(NSStringCompareOptions):mask range:(NSRange)searchRange

    //还可以用searchRange指定检索范围

    #pragma mark 字符串的搜索

    void search(){

    NSString *str=@"123456456.txt";//only return the first

    NSLog(@"Start with 12:%i",[str hasPrefix:@"12"];

    NSLog(@"End with txt:%i"[str hasSuffix:@"txt"];//检查文件的拓展名

    NSRange range=[str rangeOfString:@"345"];//option +单击 看文档    @"445"

    NSLog(@"Include :%@",NSStringFromRange(range)];//{2,3}

    if(range.location==NSNotFound){

    NSLog(@"Can't find");//range.length==0;

    }else{

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

    }

    //Search from back

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

    NSLog(@"Range is %@",NSStringFromRange(range));  //{6,3}

    //assign your area of search

    NSRange range=NSMakeRange(2,3);

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

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

    }


    NSString 的截取

    -()

    #pragma mark NSString 的截取

    void subString(){

    NSString *str=@"123456";

    NSLog(@"%@",[str substringFromIndex:3]);//从索引3开始截取字符串(包括3)到尾部456

    NSLog(@"%@",[str substringToIndex:3]);//从头部截取到索引3之前(不包括3)字符串  123

    //指定范围进行截取

    NSRange range=NSMakeRange(2,3);

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

    //切割字符串

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

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

    //traverse array

    NSLog(@"%@",array);//When print an object it will call decription method

    //根据索引取数组值

    NSString *str3=[array objectAtIndex:0];

    NSLog(@"%@",str3);


    字符串与路径

    +(NSString *)pathWithComponents:(NSArray *)components

    //将components 中的字符按顺序拼成一个路径

    -(NSArray*)pathComponents

    //将一个路径分解成一个装有每一个目录的NSArray

    -(BOOL)isAbsolutePath

    //是否是绝对路径

    -(NSString *)lastPathComponent

    //获得最后一个目录

    -(NSString *)stringByDeletingLastPathComponent

    //删除最后一个目录

    -(NSString *)stringByAppendingPathComponent:(NSString *)str

    //在路径后面拼接一个目录

    -(NSString *)pathExtension

    // get 拓展名

    -(NSString *)astringByDeletingPathExtension

    //delete extension

    -(NSString *)astringByAppendingPathExtension:(NSString *)str

    //append extension

    void pathTest(){

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

    NSMutableArray *components=[NSMutableArray array];

    [components addObject:@"Users"];

    [components addObject:@"Yesi"];

    [components addObject:@"Desktop"];

    [NSString pathWithComponents;components];

    //将数组中的所有字符串拼接成一个路径

    NSString *path=[NSString pathWithComponents:components];

    NSLog(@"%@",path);//User/Yesi/Desktop

    //将路径分解成一个数组

    NSArray *cmps=[path pathComponents];

    NSLog(@"%@",cmps);

    // absolute path->/user

    path =@"users/mj/test";

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

    NSLog(@"last path components is %i",[path lastPathComponents]);

    NSLog(@"Delete last path components is %i",[path stringByDeletinglastPathComponents]);//     ->users/Yesi

    NSLog(@"Append path components is %i",[path stringByAppendingPathComponents:@"abc"]);

    //使用的path一直都没有变过,返回值才是变过的  -> users/Yesi/test/abc

    }

    #pragma mark extension

    void extension(){

    NSString *str=@"users/yesi/text.txt";

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

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

    NSLog(@"%@",[@"abc" stringByAppendingPathExtension:@"mp3"]);

    // will add stupidly .mp3

    }


    NSString 其他用法

    void other(){

    NSString *str=@"12";

    int a = [str intValue];

    NSLog(@"%i",a);

    // count 字数

    int b=[@"我是字符串" length];

    NSLog(@"%zi",b);// 5

    //取出对应的字符

    unichar c=[@"abc" characterAtIndex:0]

    NSLog(@"%c“,c);//a

    //转为C语言的字符串

    const char *s=[@"abc" UTF8String];// 常量不能对s进行修改

    NSLog(@"%s",s);//%s c 语言中的字符串

    }


  • 相关阅读:
    Eclipse在线集成maven M2eclipse插件
    RBAC用户权限管理数据库设计
    Linux下修改mysql密码
    Red hat 6.4下面的qt安装
    export default {} 和new Vue()区别
    Ajax中POST和GET的区别
    JS es6-Symbol
    JS es6编程规范
    JS之箭头函数
    JS异步加载的方式
  • 原文地址:https://www.cnblogs.com/yesihoang/p/4506117.html
Copyright © 2011-2022 走看看