天天看点

OC视频笔记3.6(字符串常用方法)3.7(可变字符串的常用方法)

创建字符串的方式除了前面说的两种以外还有另一种创建字符串的方法:调用类方法创建字符串

NSString *a = 【NSString stringWithString:@“xxx”】;

NSString *b = 【NSString stringWithFormat:@“xxx%@”,@“yyy”】;

length:获取字符串的长度

NSString *a = @“dnsajdas”;//英文的按字母个数,中文的是汉字个数,符号就是符号个数

Integer length = 【a length】;

uppercaseString:转大写

NSString *a = @“dnsajdas”;

NSString *b = 【a uppercaseString】;//将此字符串中的字母全都转成大写

lowercaseString:转小写

NSString *a = @“DDIBDSDSD”;

NSString *b = 【a lowercaseString】;//将此字符串中的字母全部转成小写

capitalizedString:首字母大写

例子如上

将字符串转成基本数据类型:

intValue:将字符串数值转换成int类型的值

floatValue:将字符串数值转换成float类型的值

doubleValue:将字符串数值转换成doublet类型的值

boolValue:将字符串数值转换成boolt类型的值(0是false ,1,2,3.。。。是true)

  整形int:%d;
  单精度浮点型float:%f;
        双精度浮点型double:%lf;
  字符型char:%c;      

转换后的值都应该赋给转后的类型的变量,我试验过,字符串必须是纯数字才可以实现转换,如果带字母的话就会打印0

字符串的截取:

substringToIndex方法,注意OC里面的字符串也是从0开始查的,本方法是截取从0开始到输入数字所代表的字符的前面的字符串。

substringFromIndex方法,本方法是从指定位置向后截取(包含指定位置)。

substringWithRange方法,从指定位置截取指定长度,这里面需要涉及到构造函数:

   NSRange rang = {1,4};(包含指定位置)

   NSString *a = @“abcdefghijk”;

   NSString *b = 【a substringWithRange:rang】;b = bcde;

字符串的追加:

stringByAppendingString:直接在字符串后面追加字符串,产生新的字符串,不是修改这个字符串

stringByAppendingFormat:在后面拼接,产生新的字符串

字符串的查找:

在现有的字符串上面查找字符串

NSString * a = @"www.baidu.com";

NSRange range = 【a rangeOfString:@“baidu”】;(返回的是NSRange类型的对象,所以需要赋值给NSrange对象range)

if(range.location!= NSNotFound){

       NSLog(@“找到字符串,字符串的位置是%ld,字符串的长度是%ld”,range.location,range.length);

}看代码就懂了

取指位置的字符:

characterAtIndex:(NSUInteger)方法(从0开始的,返回的是unichar类型)

NSMutableString(可变字符串)继承字符串,在父类的基础上做了可修改扩展

创建的方法和NSString是一样的,但是不可以使用后面这种方法创建!!!NSMutableString *a = @“zzz”;(不可以,@“”这种形式是创建不可变的字符串)

NSMutabeString *a = 【【NSMutableString alloc】 initWithString:@“zzz”】;(因为是继承自父类,所以可以这么创建)

插入方法:insertString:  atIndex:

在原有字符串的基础上插入字符串,而不需要生成新的字符串,因为该方法的返回值时void

NSMutabeString *a = 【【NSMutableString alloc】 initWithString:@“zzz”】;

【a insertString:@“要插入的字符串” atIndex:0】;

追加方法:appendString:@“字符串”

同上

删除方法deleteCharacterInRange:NSRange;

有的时候删除重复的字符串很多很麻烦,例:@“字符符符符符符符符符符符符符符符符符符串”;这就可以利用之前所学到的查找的功能(rangeOfString:@“xxx”)来给NSRange提供范围了。

替换:

replaceCharacterInRange:@“xxx” withString:@“zzz”;

继续阅读