文档章节

【OC】九、字符串对象(NSString)

包灬子
 包灬子
发布于 2014/03/14 17:01
字数 515
阅读 1235
收藏 4

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

@"Hello OC~~"

NSLog

    专门用于log日志输出

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

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

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

description

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

#import <Foundation/Foundation.h>


@interface Fraction : NSObject

-(void)add;

@end

@implementation Fraction

-(void)add{
    NSLog(@"--->add");
}

-(NSString *)description{
    return [NSString stringWithFormat:@"---->"];
}

@end

int 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);

     

© 著作权归作者所有

包灬子
粉丝 11
博文 37
码字总数 10847
作品 0
无锡
架构师
私信 提问
【OC】十、字符串对象之扩展---可变字符串(NSMutableString)

可变字符串(NSMutableString) NSMutableString类可以用来创建可更改的字符串对象,由于是NSString的子类,所以可以直接使用NSString所以的方法 从不可变字符串创建可变字符串 NSMutableStrin...

包灬子
2014/03/17
0
0
【OC】十一、数组对象(NSArray & NSMutableArray)

不可变数组:NSArray 可变数组:NSMutableArray 创建一个不可变数组 简单的创建一个数组 [NSArray arrayWithObjects: @"111",@"222",nil]; 我们可以按顺序列出对象并用逗号隔开,并且最后一个...

包灬子
2014/03/17
0
0
【OC】八、数字(NSNumber)

之前说过的int float long 等等 都是oc中的基本数据类型 他们都不是对象 但是 有时候 我们需要将这些值作为对象使用 这时候 我们可以使用NSNumber类来存储基本数据类型 NSNumber的多个创建方...

包灬子
2014/03/14
0
0
Nesting介绍和基础方法

自己总结NSString的方法: NSString面对的对象可以看成是一堆字符串或者单独是字符也可以,其中可以包括汉字、字母、数字等内容的结合。NSString的对象输出时不论是字符还是字符串,统一用%...

指间-亦泛伤
2016/09/03
10
1
OC语言自学《九》---- OC(面向对象)

定义类和创建对象 创建类 使用@interface 关键字创建类,并且使类继承NSObject @interface负责声明、@implementation负责实现 函数和方法的区别 方法 必须以减号或加号开头 减号开头的是对象...

罗眯眯
2014/04/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周二乱弹 —— 吾不好梦中插人

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @鱼豆腐233 :#今日歌曲分享# 分享My Chemical Romance的单曲《I Don't Love You》: 《I Don't Love You》- My Chemical Romance 手机党少年们...

小小编辑
48分钟前
20
5
ss5 vpn 安装(linux版本)

1. 创建一个文件夹 /ss5 你也可以自定义,不过后续的地方需要注意自己的地址 2. 下载ss5文件(如果你的服务器没有安装wget请使用 yum -y install wget 命令安装 如果连yum都没安装自己查去)(下...

太黑_thj
今天
2
0
八、RabbitMQ的集群原理

集群架构 写在前面 RabbitMQ集群是按照低延迟环境设计的,千万不要跨越WAN或者互联网来搭建RabbitMQ集群。如果一定要在高延迟环境下使用RabbitMQ集群,可以参考使用Shovel和Federation工具。...

XuePeng77
今天
5
0
mac系统下,brew 安装mysql,用终端可以连接,navicat却连接不上?

问题: 1.报错? 2059 - Authentication plugin 'caching_sha2_password' cannot be loaded: dlopen(../Frameworks/caching_sha2_password.so, 2): image not found 2.自己通过设置,已经把密......

写bug的攻城狮
昨天
3
0
老生常谈,HashMap的死循环

问题 最近的几次面试中,我都问了是否了解HashMap在并发使用时可能发生死循环,导致cpu100%,结果让我很意外,都表示不知道有这样的问题,让我意外的是面试者的工作年限都不短。 由于HashMap...

群星纪元
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部