OC中字符串的方法使用(NSString、NSMutableString、NSRange)

#import <Foundation/Foundation.h>

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

   
// lower case 字符串转换为小写
    NSString *lowerCaseString1 = [testString lowercaseString];
    NSString *lowerCaseString2 = testString.lowercaseString;
    
// upper case 字符串转换为大写
    NSString *upperCaseString1 = [lowerCaseString1 uppercaseString];
    NSString *upperCaseString2 = lowerCaseString1.uppercaseString;


 //*******第一部分--不可变字符串 NSString******* // 1.1 对象初始化 语法糖直接赋值 NSString * str2 = @"abc"; // 1.2 对象初始化 // 方法:- (instancetype)initWithFormat:(NSString *)format NSString * str3 = [[NSString alloc]initWithFormat:@"abc"]; NSInteger * num1 = 10; NSString * str4 = [[NSString alloc]initWithFormat:@"num1 is %ld",num1]; // 1.3 对象初始化(已丢弃的方法) // 方法:- (instancetype)initWithString:(NSString *)aString; NSString * str1 = [[NSString alloc]initWithString:@"abc"]; //-----2--基本数据类型和字符串类型间转换------- // 2.1 将C语言中的字符串转化为对象类型 // 方法:- (instancetype)initWithUTF8String:(const char *)nullTerminatedCString; NSString * str5 = [[NSString alloc]initWithUTF8String:"duke"]; // 2.2 将对象类型字符串转化为C语言类型 // 方法:- (__strong const char *)UTF8String const char * cStr = [str5 UTF8String]; // 2.3 把浮点型转换成字符串 float weight = 55.5; NSString * wStr = [[NSString alloc]initWithFormat:@"%.2f",weight ]; // 2.4 把字符串转换成基本数据类型 NSString * str6 = @"18"; NSInteger age = [str6 integerValue]; float age2 = [str6 floatValue]; int age3 = [str6 intValue]; //-----3--获取字符串长度------- // 3.1 获取字符串长度 length 注意与strlen()的区别 // 方法:- (NSUInteger)length; NSString * str7 = @"张三A02"; NSUInteger lenght = [str7 length]; NSLog(@"lenght = %lu",lenght); //输出为5 lenght计算字符个数,而不是字节数 NSLog(@"strlen = %lu",strlen("张三A02")); //输出为9 一个汉字占三个字节 NSLog(@"sizeof = %lu",sizeof("张三A02")); //输出10 包含\0的一个字节 // -----4--截取字符串 substring开头------- // 4.1 截取字符串 从什么地方开始截取,开始索引为0,索引这个位置为闭区间 // - (NSString *)substringFromIndex:(NSUInteger)from; NSString * str8 = @"good luck to you!"; str8 = [str8 substringFromIndex:3]; NSLog(@"str8 = %@",str8); //输出为 d luck to you! // 4.2 截取字符串 从0开始截取到某个位置,索引这个位置为开区间; // - (NSString *)substringToIndex:(NSUInteger)to; NSString * str9 = @"good luck to you!"; str9 = [str9 substringToIndex:3]; NSLog(@"str9 = %@",str9); //输出为 goo //-----5--拼接字符串 stringByAppending开头------- // 5.1 拼接字符串1 // - (NSString *)stringByAppendingString:(NSString *)aString; NSString * str10 = @"Hello World"; str10 = [str10 stringByAppendingString:@"!!!"]; NSLog(@"str10 = %@",str10); //输出 Hello World !!! // 5.2 拼接字符串2 // - (NSString *)stringByAppendingFormat:(NSString *)format, NSString * str11 = @"I am a student"; NSInteger age4 = 20; str11 = [str11 stringByAppendingFormat:@"My age is %ld",age4]; NSLog(@"str11 = %@",str11); //输出 I am a studentMy age is 20 //-----6--替换字符串 stringByReplacing开头------- // 6.1 // - (NSString *)stringByReplacingOccurrencesOfString:<#(NSString *)#> withString:<#(NSString *)#> NSString * str12 = @"good good study"; str12 = [str12 stringByReplacingOccurrencesOfString:@"good" withString:@"GOOD"]; NSLog(@"str12 = %@",str12); //输出 GOOD GOOD study //-----7--字符串比较 比较是否相等isEqual开头,比较大小用compare------- // 7.1 判断字符串是否相等(区分大小写) 返回0表示不等,返回1表示相等 // - (BOOL)isEqualToString:(NSString *)aString NSString * str13 = @"zero"; NSString * str14 = @"hour"; BOOL rel1 = [str13 isEqualToString:str14]; BOOL rel2 = [str13 isEqual: str14]; BOOL rel3 = [str13 isEqualTo: str14]; NSLog(@"rel1 = %d rel2 = %d rel3 = %d",rel1,rel2,rel3); //输出都为 0 //留有疑问,这三个isEaual有啥区别 // 7.2 比较字符串大小,前面的大返回 1, 前面的小返回 -1, 相等返回 0。 // 方法:- (NSComparisonResult)compare:(NSString *)string; NSString * str15 = @"A"; NSString * str16 = @"a"; NSComparisonResult rel4 = [str15 compare:str16]; NSLog(@"rel4 = %ld",rel4); //输出结果为 -1 // 7.3 判断字符串是否以摸个字符串开始 // - (BOOL)hasPrefix:(NSString *)aString; NSString * str17 = @"zhaopian.jpg"; BOOL isZhao = [str17 hasPrefix:@"zhao"]; NSLog(@"isZhao = %d",isZhao); //输出:isZhao = 1 // 7.4 判断字符串是否以摸个字符串结尾 // - (BOOL)hasSuffix:(NSString *)aString; NSString * str18 = @"zhaopian.jpg"; BOOL isPng = [str18 hasSuffix:@".png"]; NSLog(@"isPng = %d",isPng); //输出:isPng = 0 //*******第二部分--可变字符串 NSMutableString******* //NSMutableString 是 NSString 类的子类 //该类创建的字符串是一个动态的可变字符串,可以对字符串进行增删改等操作。 //-----1--可变字符串的初始化 ------- // 1.1 不可变字符串的初始化,没有语法糖 NSMutableString * mStr1 = [[NSMutableString alloc]initWithString:@"abc"]; NSInteger mAge = 18; NSMutableString * mStr2 = [[NSMutableString alloc]initWithFormat:@"age is %ld",mAge]; // 1.2 可边字符串的比较 NSMutableString * mStr3 = [[NSMutableString alloc]initWithFormat:@"abc"]; NSMutableString * mStr4 = [[NSMutableString alloc]initWithFormat:@"bcd"]; NSComparisonResult rel5 = [mStr3 compare:mStr4]; NSLog(@"rel5 = %ld",rel5); //-----2--插入字符 insert开头------- // 2.1插入字符或字符串,atIndex索引从0开始 //- (void)insertString:(NSString *)aString atIndex:(NSUInteger)loc; NSMutableString * mStr5 = [[NSMutableString alloc]initWithFormat:@"abc"]; [mStr5 insertString:@"123" atIndex:2]; NSLog(@"mStr5 = %@",mStr5); //-----3--删除字符串中某一段内容 delete开头------- // 3.1 按索引删除 // NSMakeRange(NSUInteger loc, NSUInteger len)结构体返回值类型NSRange,loc为起始索引,len为结束索引 // - (void)deleteCharactersInRange:(NSRange)range; NSMutableString * mStr6 = [[NSMutableString alloc]initWithFormat:@"abcdefg"]; NSRange range1 = NSMakeRange(2, 3); [mStr6 deleteCharactersInRange:range1]; NSLog(@"mStr6 = %@",mStr6); // 3.2 动态删除 在一的基础上增加定位索引步骤 可实现动态删除 // - (NSRange)rangeOfString:(NSString *)aString; // - (void)deleteCharactersInRange:(NSRange)range; NSMutableString * mStr7 = [[NSMutableString alloc]initWithFormat:@"abcdefbcg"]; NSRange range2 = [mStr7 rangeOfString:@"bc"]; //找到匹配的索引范围 从0位开始搜索,只定位最先匹配到的范围 NSLog(@"range2.location = %ld, range2.length = %ld",range2.location,range2.length); [mStr7 deleteCharactersInRange:range2]; //删除索引范围内的内容 NSLog(@"mStr7 = %@",mStr7); return 0;}


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值