字符串的操作

#import <Foundation/Foundation.h>

 

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

    @autoreleasepool {

        //1、字符串的比较函数

        NSString *str1 = [NSString stringWithFormat:@"%@",@"hello world"];

        NSString *str2 = [NSString stringWithUTF8String:"hello world"];

        //判断两个字符串是否相等

        //compare:

        //NSOrderedAscending = -1L,    递增

        //NSOrderedSame = 0            相等

        //NSOrderedDescending = 1      递减

        NSComparisonResult ret1 = [str1 compare:str2];

        if(ret1 == NSOrderedAscending)

        {

            NSLog(@"str1 < str2");

        }

        else if (ret1 == NSOrderedSame)

        {

            NSLog(@"str1 = str2");

        }

        else if (ret1 == NSOrderedDescending)

        {

            NSLog(@"str1 > str2");

        }

        

        //大小写不敏感的方式比较字符串大小

        //只有英文字母才有大小写之分

        //- (NSComparisonResult)caseInsensitiveCompare:(NSString *)string;

        NSString *str3 = @"welcome to china";

        NSString *str4 = @"welcome To china";

        

        NSComparisonResult ret2 = [str3 caseInsensitiveCompare:str4];

        if(ret2 == NSOrderedAscending)

        {

            NSLog(@"str1 < str2");

        }

        else if (ret2 == NSOrderedSame)

        {

            NSLog(@"str2 = str2");

        }

        else if (ret2 == NSOrderedDescending)

        {

            NSLog(@"str1 > str2");

        }

        

        NSComparisonResult ret3 = [str3 compare:str4 options:NSCaseInsensitiveSearch];

        if(ret3 == NSOrderedAscending)

        {

            NSLog(@"str1 < str2");

        }

        else if (ret3 == NSOrderedSame)

        {

            NSLog(@"str2 = str2");

        }

        else if (ret3 == NSOrderedDescending)

        {

            NSLog(@"str1 > str2");

        }

        

        

        //判断两个字符串对象是否相等

        NSString *str5 = [NSString stringWithCString:"how are you" encoding:NSUTF8StringEncoding];

        NSString *str6 = [NSString stringWithUTF8String:"how are you"];

        //#define YES ((BOOL)1)

        //#define NO  ((BOOL)0)

        BOOL ret4 = [str5 isEqualToString:str6];

        if (ret4 == YES)

        {

            NSLog(@"str5 = str6");

        }

        else

        {

            NSLog(@"str5 != str6");

        }

        

        //判断是否已传入字符串开头的字符串

        //- (bool)hasPrefix:(NSString *)astring;

        BOOL ret5 = [@"www.baidu.com" hasPrefix:@"www"];

        if (ret5 == YES)

        {

            NSLog(@"是以传入字符串开头");

        }

        else

        {

            NSLog(@"不是以传入字符串开头");

        }

        

        //判断是否已传入字符串结尾的字符串

        BOOL ret6 = [@"www.baidu.com" hasSuffix:@".com"];

        NSLog(@"ret6 = %i", ret6);

        

        //字符串的追加

        NSString *str7 = @"baidu";

        //- (NSString *)stringByAppendingString:(NSString *)aString;

        //NSString 创建的是不可变字符串对象,不能直接在原字符串末尾追加字符串,只能利用原字符串及传入的字符串对象,创建新的字符串对象返回。

        NSString *str8 = [str7 stringByAppendingString:@".com"];

        NSLog(@"str7 = %@", str7);

        NSLog(@"str8 = %@", str8);

        //str7 = baidu

        //str8 = baidu.com

        

        //格式化追加字符串

        NSString *str9 = [str7 stringByAppendingFormat:@"%d%s",123,"hello world"];

        NSLog(@"str9 = %@", str9);

        

        

        //字符串的提取

        NSString *str10 = @"www.hao123.com";

        

        //从指定下标位置提取子串到字符串末尾

        //- (NSString *)substringFromIndex:(NSUInteger)form;

        NSLog(@"subString = %@",[str10 substringFromIndex:4]);

        //subString = hao123.com

        

        //提取子串到指定位置,(不包含指定下标字符)

        NSLog(@"subString = %@", [str10 substringToIndex:4]);

        //subString = www.

        

        //提取指定范围的子串

        //- (NSString *)substringWithRang:(NSRange)range;

        //typedef struct _NSRange {

        //    NSUInteger location;  提取子串的位置

        //    NSUInteger length;    提取子串的长度

        //} NSRange;

        

        NSRange range1 = {4,6};

        NSLog(@"subStrng = %@", [str10 substringWithRange:range1]);

        //NSRange NSMakeRange(NSUInteger loc, NSUInteger len)

        //返回NSRange的值

        NSLog(@"subStrng = %@", [str10 substringWithRange:NSMakeRange(4,6)]);

        

        

        //字符串的查找

        NSString *str11 = @"bai du hello du world bai du";

        //返回子串在原字符串中的范围

        NSRange range2 = [str11 rangeOfString:@"du"];

        if (range2.location == NSNotFound){

            NSLog(@"没有查找到该子串 NSNotFound = %li", NSNotFound);

            //NSSNotFound 是long类型范围内的最大值

        }

        else {

            NSLog(@"查找到该子串, location = %li, length = %li", range2.location, range2.length);

        }

        

        //倒序查找子串

        //NSBackwardsSearch  倒叙搜索

        NSRange range3 = [str11 rangeOfString:@"du" options:NSBackwardsSearch];

        NSLog(@"location = %li length = %li", range3.location, range3.length);

        

        //在指定范围内查找子串

        //NSLiteralSearch 正序搜索

        NSRange range4 = [str11 rangeOfString:@"du" options:NSLiteralSearch range:NSMakeRange(7, 14)];

        NSLog(@"location = %li length = %li", range4.location, range4.length);

        

    }

    return 0;

}

 

 

#import <Foundation/Foundation.h>

 

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

    @autoreleasepool {

        //字符串的大小写转换

        NSString *str1 = @"hello world";

        //把小写字母转换成大写字母

        NSLog(@"str = %@", [str1 uppercaseString]);

        

        //把大写字母转换成小写字母

        NSString *str2 = @"WELCOME to CHINA";

        NSLog(@"str = %@", [str2 lowercaseString]);

        

        //把单词的首字母转换成大写,其余字母转换成小写

        NSString *str3 = @"HELLO world chinA welCome";

        NSLog(@"str = %@", [str3 capitalizedString]);

        

        

        //字符串的数值转换

        //数字字符 0~9

        NSString *str4 = @"123";

        //把字符串对象转化成int类型数值

        NSLog(@"num = %i", [str4 intValue]);

        //把字符串对象转换成NSIeger类型

        NSLog(@"num = %li", [@"987654" integerValue]);

        //把字符串对象转换成浮点类型

        NSLog(@"num = %.2f", [@"3.1456" floatValue]);

        

        

        //字符串的置换

        NSString *str5 = @"hello world chian hello world";

        

        //用传入的字符串对象替换指定范围字符

        NSString *str6 = [str5 stringByReplacingCharactersInRange:NSMakeRange(12, 5) withString:@"welocme"];

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

        

        

        //用传入的字符串替换在原字符串中出现的所有字符

        NSString *str7 = [str5 stringByReplacingOccurrencesOfString:@"wolrd" withString:@"baidu"];

        NSLog(@"str7 = %@", str7);

        

        

        //替换指定范围内出现的字符串

        //第一个参数:表示目标字符串

        //第二个参数:传入的字符串replancement

        //第三个参数:字符串的搜索方式

        //第四个参数:搜索字符串的范围

        NSString *str8 = [str5 stringByReplacingOccurrencesOfString:@"hello" withString:@"welocme" options:NSLiteralSearch range:NSMakeRange(12, 17)];

        NSLog(@"str8 = %@", str8);

        

    

    }

    return 0;

}

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值