OC学习--字符串使用

oc中字符串分为可变和不可变字符串:


一、不可变字符串NSString

1、创建

//最简单的方式创建

NSString *str1 = @"我是OC字符串";

//用一个字符串创建另一个字符串

NSString *str2 = [[NSString alloc] initWithString:str1];

//格式化的创建字符串

NSString *str3 = [[NSString alloc] initWithFormat:@"%d %d %.2f",12,34,5.67];

//C字符串创建

NSString *str4 = [[NSString alloc] initWithUTF8String:"我是C创建OC字符串"];


//每一个initWith都对应一个stringWith的类方法

NSString *str5 = [NSString stringWithString:str2];

NSString *str6 = [NSString stringWithFormat:@"%d,%.2f",250,3.14];

NSString *str7 = [NSString stringWithUTF8String:"abcdefg"];


2、长度

NSUInteger len = [str length];


3、获取单个字符

unichar ch = [str characterAtIndex:8];

        NSLog(@"ch = %C", ch);


4、比较

1、比较是否相等

BOOL ret = [str1 isEqualToString:str2];

2、比较字符串大小

NSComparisonResult ret2 = [str1 compare:str2];

NSOrderedAscending  右边大

NSOrderedSame       一样大

NSOrderedDescending 左边大

3、不区分大小写的比较

ret2 = [str3 caseInsensitiveCompare:str4];


5、查找子串范围(首次出现的位置)

NSRange range = [str rangeOfString:@"蓝翔"];


6、子串提取

NSString *subStr1 = [str2 substringToIndex:3];

  NSString *subStr2 = [str2 substringFromIndex:5];

  NSRange ran = {3, 3};

  NSString *subStr3 = [str2 substringWithRange:ran];

  NSString *subStr3 = [str2 substringWithRange:   

  NSMakeRange(3, 3)];


编外方法:

1、字符串转数据(类似于atoi,atof)

int intV = [str3 intValue];

float floatV = [str3 floatValue];


2、OC字符串转C字符串

  const char *p = [@"abc" UTF8String];


二、可变字符串NSMutableString

【特有方法】

1、设置(set)

[mStr setString:@"abcd"];


2、追加 (append)

//追加一个字符串

[mStr appendString:@"123"];

//格式化的追加

[mStr appendFormat:@"%d%c",250,'A'];


3、插入 (insert)

//在指定位置插入字符串

[mStr insertString:@"hello" atIndex:2];


4、删除(delete)

//删除指定范围内的字符

[mStr deleteCharactersInRange:NSMakeRange(2, 5)];


5、修改(replace)

//用字符串替换某个范围内的字符

[mStr replaceCharactersInRange:NSMakeRange(2, 5

withString:@"hello"];


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值