关于字符串的操作可谓是千变万化,自己在学习的过程中也遇到了很多问题。接下来就让我总结一下自己在使用的过程中遇到的问题和解决方法
1.获取一串字符中的一个字符。
要想获取一串字符中的一个字符其实有多种方法,在这里说几种我用过的,
1》利用实例方法,UTF8String
NSString *str=[[NSString alloc]init];
const char *c=[str UTF8String];//将str转换为c语言中的字符串
这种方法我感觉适用于需要处理字符串中的每一个字符的情况。
2》利用实例方法,characterAtIndex
NSString *strGet=@"hello";
char c=[strGet characterAtIndex:2];//获取到索引为2的这个字符l
这个方法操作字符串可以像操作数组一样通过索引来获取字符串中的每一个值
2.获取一个字串(str1)在另一个字符串(str2)中包含的位置,rangeOfString 实例方法
这种方法获得的是str1在str2中的NSRange(Location,Length)
NSString *str8=@"study ios";
NSRange rang10 = [str8 rangeOfString:@"ios”];//返回的结果为Location=6,Length=3
通过其Location的值可以判断str8中是否有"ios”这个字符串
=》Location==NSNotFound则说明该"ios”不存在
3.介绍一个自己感觉用处比较大的方法:replaceCharactersInRange,这也是一个对象方法,注意他是NSMutableString对象的方法,对于NSString是没有办法使用的。
NSMutableString*str14=[[NSMutableStringalloc]initWithString:@"abcd"];
[str14 replaceCharactersInRange:NSMakeRange(0,2)withString:@"qw"];
其实我感觉这个函数最好用的地方我觉得是他可以交换字符串中的某两个字符
char ch=[srcStr characterAtIndex:i];
[srcStr replaceCharactersInRange:NSMakeRange(i, 1) withString:[NSString stringWithFormat:@"%c",[srcStr characterAtIndex:j]]];
[srcStr replaceCharactersInRange:NSMakeRange(j, 1) withString:[NSString stringWithFormat:@"%c",ch]];
,上面这段程序的说明:replaceCharactersInRange:NSMakeRange(location,length), 其中的location其实相当于下标,当length=1时其实就是该字符。反正我自己感觉特别好用
4.//截取字符串
NSString *str9=@"apple";
[str9 substringFromIndex:1];//从字符串的索引为1处开始截取
[str9 substringToIndex:2];//截取到索引为2处
[str9 substringWithRange:NSMakeRange(0, 2)];//从索引为0截取长度为2的字符串
//判断当前字符串是否为以某个字符串开头
NSString *str10=@"www.baidu.com";
[str10 hasPrefix:@"www"];//返回值为bool类型
//判断当前字符串是否为以某个字符串结尾
NSString *str11=@"www.baidu.com";
[str11 hasSuffix:@"com"];