NSString (API+常用实例)

来源:互联网 发布:淘宝解冻保证金 编辑:程序博客网 时间:2024/05/16 08:07


         //初始化

    NSString* str = [NSString stringWithFormat:@"asdfsdfvvvvvvvas"];

    NSString* str2 = @"110A";

    NSString* str3 = @"110a";

    

    

    

    //字符串长度

    //@lengh readonly

    NSLog(@"字符串长度:%ld",(long)str.length);

    

    

    

    //获取字符串某位

    unichar c = [str characterAtIndex:1];

    

    

    

    //根据下标和长度截取字符串

    NSRange rang = {6,8};

    NSString* str4 = [str substringWithRange:rang];

    NSLog(@"截取字符串:%@",str4);

    

    

    

    //从指定下标截取到最后

    NSString* str5 = [str substringFromIndex:3];

    //从下标[0]到指定下标[3],但不包括[3]

    NSString* str6 = [str substringToIndex:3];

    NSLog(@"%@ %@",str5,str6);

    

    

    

    //强转

    NSInteger i = [str4 intValue];

    NSLog(@"%d",i+1);

    double f = [str4 floatValue];

    long long l = [str4 longLongValue];

    

    

    

    //转大写

    NSString* bigStr = [str3 uppercaseString];

    NSLog(@"%@",bigStr);

    //转小写

    NSString* smallStr = [str2 lowercaseString];

    NSLog(@"%@",smallStr);

    //首字母大写

    NSString *firstPer = [str capitalizedString];


    

    

    

    //切割字符串

    NSArray *ary = [str componentsSeparatedByString:@","];

    

    

    

    //拼接字符串

    //stringByAppendingString

    NSString *appenStr = [str stringByAppendingString:@"aaa"];

    //appendString

    NSMutableString *mutableStr = [NSMutableString stringWithString:@"fsfsfsdff"];

    [mutableStr appendString:@"拼接的dfdsfdf"];

    

    

    

    

    //前后缀判断

    //判断前缀

    if ([str hasPrefix:@"44"])

    {

        NSLog(@"YES");

    }

    //判断后缀

    if ([str hasSuffix:@"0302"])

    {

        NSLog(@"YES");

    }

    //- (NSString *)commonPrefixWithString:(NSString *)str options:(NSStringCompareOptions)mask;

    //前缀忽略大小写,最终成功返回前缀"A",不成功返回 "空字符串"

    NSString *b5 = [@"A A" commonPrefixWithString:@"b" options:NSCaseInsensitiveSearch];

    

    

    

    //两字符串是否相等,完全匹配

    if ([str isEqualToString:str2])

    {

        NSLog(@"一样,");

        

    }

    

    

    

    

    //忽略大小写匹配两字符串

    NSComparisonResult b = [str2 caseInsensitiveCompare:str3];

    if (b==0) {

        NSLog(@"忽略大小写==0就是相等,-1不等");

    }

    b = [str2 compare:@"022"];

    

    

    

    

    

    //- (NSComparisonResult)compare:(NSString *)string

    //字符串高级匹配

    /*

     typedef NS_OPTIONS(NSUInteger, NSStringCompareOptions) {

        NSCaseInsensitiveSearch = 1,   //忽略大小写

        NSLiteralSearch = 2,   //区分大小写

        NSBackwardsSearch = 4,   //从源字符串的结尾搜索

        NSAnchoredSearch = 8,   //搜索限制范围的字符串

        NSNumericSearch = 64,   //按照字符串里的数字对比,必须相同格式 1.1.1>1.1.0

        NSDiacriticInsensitiveSearch   //忽略 "-"符号的比较

        NSWidthInsensitiveSearch       //忽略字符串的长度,比较出结果

        NSForcedOrderingSearch         //忽略不区分大小写比较的选项,并强制返回 NSOrderedAscending或者 NSOrderedDescending

        NSRegularExpressionSearch      //只能应用于 rangeOfString:..., stringByReplacingOccurrencesOfString:... replaceOccurrencesOfString:... 方法。使用通用兼容的比较方法,如果设置此项,可以去掉 NSCaseInsensitiveSearch NSAnchoredSearch

     */

    

    /*

     *  typedef NS_ENUM(NSInteger, NSComparisonResult)

            {NSOrderedAscending = -1L  升序

            NSOrderedSame,             相同

            NSOrderedDescending};      降序

     */

    NSString *numA = @"2.1.16";

    NSString *numB = @"2.1.11";


    NSComparisonResult bb = [numA compare:numB options:NSNumericSearch];

    if (bb == NSOrderedDescending)

    {

        NSLog(@"BigOne:%@",numA);

    }else

    {

        NSLog(@"smallOne:%@",numB);

    }


    

    

    //字符串比较 @"4402042,0040302"

    NSComparisonResult b2 = [str localizedCompare:@"2042"];  //1 降序 -1升序  0相同



    

    //忽略大小写匹配

    NSComparisonResult b3 = [@"aa bb" localizedCaseInsensitiveCompare:@"AA BB"];  //1降序 -1升序  0相同


    

    

    //- (NSComparisonResult)localizedStandardCompare:(NSString *)string

    NSComparisonResult b4 = [@"A A" localizedStandardCompare:@"A A"];  //1 降序 -1升序  0相同


    


    //- (BOOL)containsString:(NSString *)str NS_AVAILABLE(10_10, 8_0);

    //字符串内容中是否包含指定项  ios8以上方法

    BOOL b6 = [str containsString:@"0040"];

    //- (BOOL)localizedCaseInsensitiveContainsString:(NSString *)str NS_AVAILABLE(10_10, 8_0);

    //忽略大小写判断包含字符串    ios8以上方法

    BOOL b7 = [@"adfdsffff" localizedCaseInsensitiveContainsString:@"FFFF"];


    

    

    //- (NSRange)rangeOfString:(NSString *)searchString;

    //根据所搜索字符串,返回所在位置,通常根据 range.lenght长度判断是否包含

    /* 对应可以设置 options:是否忽略大小写、数字对比....   range:限定范围处理

     - (NSRange)rangeOfString:(NSString *)searchString options:(NSStringCompareOptions)mask;

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

     - (NSRange)rangeOfString:(NSString *)searchString options:(NSStringCompareOptions)mask range:(NSRange)searchRange locale:(nullable NSLocale *)locale

     */

    NSRange subRange = {4,4};

    NSRange range4 = [@"adfdsffff" rangeOfString:@"FFF" options:NSCaseInsensitiveSearch range:subRange];





//判断是否纯数字

第三种方式则是使用NSString的trimming方法

- (BOOL)isPureNumandCharacters:(NSString *)string
{
string = [string stringByTrimmingCharactersInSet;[NSCharacterSet decimalDigitCharacterSet]];

if(string.length > 0)
{

      return NO;

}
return YES;

}



0 0
原创粉丝点击