博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【OC】九、字符串对象(NSString)
阅读量:6029 次
发布时间:2019-06-20

本文共 1703 字,大约阅读时间需要 5 分钟。

hot3.png

创建一个常量字符串对象  需要在字符串开头放置一个 ,例如:

@"Hello OC~~"

NSLog

    专门用于log日志输出

 NSString *str = @"Hello OC~~~"; NSLog(@"%@",str);

    上面的代码首先创建字符串对象str  然后用nslog将值显示出来

    nslog格式字符 %@ 不仅可以显示NSString对象  还可以显示其他对象

description

    为了方便调试  我们可以在自己的类中重写description方法  比如   

#import 
@interface Fraction : NSObject-(void)add;@end@implementation Fraction-(void)add{    NSLog(@"--->add");}-(NSString *)description{    return [NSString stringWithFormat:@"---->"];}@endint main(int argc, const char * argv[]){    @autoreleasepool {        Fraction* mFraction = [[Fraction alloc] init];        NSLog(@"%@",mFraction);    }               return 0;}

输入的结果就是     ---->   

不可变对象(NSString)

    创建字符串对象时 会创建一个内容不可改变的对象,这个对象称为不可变对象

    可以使用NSString类处理不可变字符串   

    如果经常需要处理字符串或者更改字符串中的字符  我们可使用NSMutableString类

计算字符串长度

    [str length];

将一个字符串复制到另一个字符串

    [NSString stringWithString: str1];

将一个字符串复制到另一个字符串尾端

    [str stringByAppendingString:@""];

判断字符串是否相等

    [str1 isEqualToString : str2]

将字符串转成大写

    [str uppercaseString];

将字符串转成小写

    [str lowercaseString];

验证字符串是否大于,等于或小于另一个字符串(大小写区分)

 switch ([str1 compare:str2]) {

            case NSOrderedDescending:

                //str1 > str2

                break;

            case NSOrderedSame:

                //str1 = str2

                break;

            case NSOrderedAscending:

                //str1 < str2;

                break;

            default:

                break;

}

验证字符串是否大于,等于或小于另一个字符串(大小写不区分)

    大小写不区分 可以使用 caseInsensitiveCompare

    [str caseInsensitiveCompare:@""];

从字符串中提取前n个字符

    [str substringToIndex:n];

从字符串中提取从索引n开始到结尾的子字符串

    [str substringFromIndex:n];

从字符串中提取从索引n到索引m的子字符串(m-n个字符)

    [[str substringFromIndex:n] substringToIndex: (m-n)];

    [str substringWithRange:NSMakeRange(n, (m-n))];

从字符串中查找字符串

        NSString *str = @"abcdefghijklmnopq";

        NSRange range = [str rangeOfString:@"cde"];

        NSLog(@"位置:%lu   长度:%lu",range.location,range.length);

     

转载于:https://my.oschina.net/gejw0623/blog/208340

你可能感兴趣的文章
深度学习博客
查看>>
Android总结篇系列:Android Service
查看>>
Android dumpsys命令的使用
查看>>
Linux Kernel系列一:开篇和Kernel启动概要
查看>>
BZOJ 2756: [SCOI2012]奇怪的游戏 网络流/二分
查看>>
master + worker模式的node多核解决框架——node-cluster
查看>>
Android如何实现超级棒的沉浸式体验
查看>>
使用node打造自己的命令行工具方法教程
查看>>
Express代理中间件问题与解决方案
查看>>
||和&&返回什么?
查看>>
linux在文件中查找指定字符串,然后根据查找结果来做进一步的处理
查看>>
在Oracle中删除所有强制性外键约束
查看>>
dhcp
查看>>
【R】R语言使用命令行参数 - [编程技巧(Program Skill)]
查看>>
经典算法题每日演练——第二题 五家共井
查看>>
存储过程中拼接的变量和点的问题
查看>>
ASP.NET那点不为人知的事(一)
查看>>
Windows Phone 独立存储查看器
查看>>
js与php转换时间戳
查看>>
北京和硅谷在创新方面的区别
查看>>