字符串

作者: PeterKock | 来源:发表于2015-10-12 18:56 被阅读70次

    字符串相关的数据类型
    Cocoa框架提供一个与字符串操作相关的结构体NSRange
    NSRange
    -表示相关事务的范围,包含两个成员,一个是location,表示起始的位置

    两个变量

    要得到一个起始位置为10,3个长度范围,有三种方式可以创建


    变量的设置.png

    第一种直接用字符串的方法
    第二种直接给成员赋值
    第三种用C语言的聚合结构赋值

    三种方式创建字符串.png

    字符串
    Cocoa框架用来处理字符串的类是NSString
    字符串是字符序列,使用

    @"内容"
    

    -这就是NSString类型的字面量形式
    -C语言中使用字符数组来处理字符串
    -Cocoa框架中NSString类中有很多处理字符串的方法

    创建字符串
    可以使用普通的声明对象方式创建字符串

    NSString *string =@"字符串内容";
    NSString *string =[NSString new];
    

    可以使用NSString的类方法穿件字符串

    NSString *string=[NSString stringWithFormat:@%d格式%d",5,11];
    //string中的内容为"5格式11"
    
    +(id)stringWithFormat:@"格式化表示符"...
    +号是类方法,...三个点表示可变参数
    
    

    NSString中的工厂方法
    -stringWithFormat是一个类方法,可以产生一个NSSting对象
    -很多类方法都是用来产生新对象,这样的类方法称为工厂方法
    -string方法用于产生一个空字符串
    -stringWithString方法用在浅拷贝一个现有的字符创,并产生一个字符串

    NSString *str4=[NSString string];
    NSString *str5=[NSString stringWithString:@"Hello"];//用于浅拷贝一个现有字符串产生字符串
    

    以上都是字符串的创建


    字符串的长度

    NSString中提供了一个实例方法length,用于返回一个字符串中的字符个数(长度)
    -(unsighed int)length;
    使用这个方法取得字符串的长度

    计算字符串的长度

    字符串的比较
    -比较字符串是最常用的操作,分为两种
    1.比较两个字符串(指针)
    2.比较两个字符串(内容)
    -isEqueITString 方法返回BOOL型结果

    内容比较和指针比较

    比较字符串的大小
    -使用compare方法进行字符串的大小比较

    -(NSComparisonResult)compare:(NSString *)string;
    NSOrderedAscending =-1,  //小于
    NSOrderedSame =0,        //等于
    NSOrderedDescending=1;   //大于
    //是一个枚举的类型
    
    数组的大小比较

    上例代码中rst的结果为0

    字符串不区分大小写的比较
    -compare 方法比较字符串分时区分大小写
    -compare:option 方法比较字符串时可以额外控制其他选项,例如是否区分大小写

    -(NSComparisonResult)compare:(NSString*)string
                          option:(NSStringCompareOptions)mask;
    

    -NSStringCompareOption有以下三个值:
    1.NSCaseInsensitiveSearch:不区分大小写字符
    2.NSLiteralSearch:区分大小写,进行完全比较
    3.NSNumericSearch:根据字符串中数字大小进行比较,而不是ASCII码值
    三个选项可以使用|进行多选(或符号)

    字符串大小写转换函数
    -(NSString *)uppercaseString
    -(NSString *)lowercaseString
    -(NSString *)capitalizedString

    字符串是否以其他字符串开头和结尾

    判断开头
    -(BOOL)hasPrefix:(NSString *)string;
    判断结尾
    -(BOOL)hasSuffix:(NSString *)string;
    
    字符串开头判断.png

    字符串是否包含其他字符串

    -(NSRange)rangeOfString:(NSString *)string;
    

    有查找到字符会输出,如果没有range.length为NSNotFound

    判断是否有字符串.png 字符串数据类型的转换

    字符串转换函数
    从字符串中获取相应的数据类型的函数
    -(double) doubleValue
    -(float) floatValue
    -(int) intValue

    从第几个开始截取字符串

    从中截取.png

    从头截取

    从头截取.png

    截取一定范围内的字符

    从第三个开始,截取五个

    范围截取.png

    字符串替换函数

    定义一个字符串.png 使用字符串替换方法替换.png 四种字符串替换方法.png 替换已知字符串.png

    用指定字符来对数组的进行分割

    指定字符来分割字符串.png

    可变字符串
    -NSString是不可变的字符串,一旦创建之后内容不可修改
    -NSString字符串有一个子类NSMutableSting 这是可变的字符串
    -使用该类的stringWithCapacity工厂方法可以创建一个新的NSMutalbeString
    (id)stringWithCapacity : (unsigned long) capacity;
    NSMutableString *mStr = [NSMutableString stringWithCapacity : 40];

    在可变字符串上修改内容
    -可以通过NSMytableString的方法来增加内容

    -(void) appendString:(NSString *) string;
    -(void) appendFormat:(NSString *) format,…;
    
    可变字符串的修改.png

    字符串的拼接


    字符串的拼接.png

    可以用这个方法来删除字符串中的字符
    -(void) deleteCharactersInRange:(NSRange) range;

    字符串的删除操作.png

    相关文章

      网友评论

          本文标题:字符串

          本文链接:https://www.haomeiwen.com/subject/qzcocttx.html