Objective-C 字符串与可变字符串

知识点

1.NSString 类的使用

2.NSMutableString 类的使用

==========================================

NSString

1.NSString对象和C类型字符串做对比

// OC字符串是对象         c字符串只是单个字母拼接

// oc字符串定义需要@       c字符串不需要

// 打印的时候OC字符串%@     c字符串打印%s

2.c语言字符串和NSString的转换

stringWithCString:encoding:函数

作用:将c字符串按照指定的编码方式转换为oc字符串对象

3.NSString的创建方式

1)根据现有的c字符串创建

2)stringWithFormat函数拼接字符串<重要>

作用:根据指定格式创建

3)initWithUTF8String函数

作用:通过手动内存分配,并且以C字符串初始化NSString对象

4)stringWithString函数

作用:通过现有的NSString对象的到一个一样的字符串对象

==================================

NSString的常用方法

1.比较两个字符串是否相等

思考:是否可以通过s1 == s2比较两个字符串相等

isEqualToString函数<重要>

作用:比较2个字符串是否相等,如果相等返回YES,不等返回NO

2.如何得到字符串的长度

1)length函数<重要>

作用:取得指定字符串对象的长度,返回NSUInteger

3.字符串转化为数字

- (double)doubleValue;

- (float)floatValue;

- (int)intValue;

- (NSInteger)integerValue;

- (long long)longlongValue;

- (BOOL)boolValue;

4.大小写转化

- (NSString *)uppercaseString;    // 转成大写

- (NSString *)lowercaseString;    // 转成小写

5.判断前后缀

后缀:hasSuffix

前缀:hasPrefix:

6字符串拼接

1) stringByAppendingString 简单字符串拼接

2)stringByAppendingPathComponent 拼接路径字符串

7.如何比较两个字符串的大小<重要>

compare函数 s1  ==  s2

作用:比较两个字符串对象的大小,返回一个NSComparisonResult的枚举结果

NSOrderedAscending = -1表示左侧数值小于右侧;

NSOrderedSame = 0 则相等

NSOrderedDescending = 1表示右侧数值小于左侧;

8.如何在一段字符串中提取出子字符串

1)characterAtIndex函数<重要>

作用:取出指定位置中的字符

2)substringFromIndex函数

作用:从指定位置开始向后提取字符串

3)substringToIndex函数

作用:提取从开头到指定位置的字符串

4)如何在一段字符串中查找另一个字符串

1)rangeOfString函数@"hello world" @"world"

2)从左边开始查找: rangeOfString<重要>

从后面开始查找;rangeOfString options:NSBackwardsSearch

作用:查找目标指定字符串是否在目标字符串中

如果存在,返回的NSRange中会包含起始位置和长度

如不存在,NSRange.location == NSNotFound

练习:1.查找"Hi,I am fine,and you"中"fine"字符串的位置

5)substringWithRange<重要>

作用:提取一个区间位置的字符串

NSRange结构体和NSMakeRange函数

作用:创建一个区间,用以告诉字符串对象要提取的子串范围

练习: 1.从"Hi,I am fine,and you"中提取出"I am fine,and you"子串

2.从"Hi,I am fine,and you"中提取出"Hi,I am fine"子串

3.从"Hi,I am fine,and you"中提取出"I am fine"子串

—— 数下标———

sub*****

—— 不数下标——

range***

sub****

练习:

在一个字符串里查找另外一个字符串出现的次数;

NSString *str1 = @“我是一个字符串  字符串  字符串”

NSString *Str2 = @“字符串”

=================================

NSMutableString

1.NSMutableString和NSString的关系

2.如何创建一个NSMutableString对象

1)string函数

作用:创建一个空的可变字符串对象 空串

=================================

NSMutableString的常用方法

1.如何重置NSMutableString的内容

1)setString函数

作用:将当前字符串中的内容设置为新的字符串

2.如何在字符串后面添加内容

1)appendString函数

作用:在当前字符串末尾追加新的字符串

2)appendFormat函数<重要>

作用:通过指定格式追加

练习:1.分别定义姓名,年龄,性别变量并初始化

最后将该些变量通过上述方法追加到"hello"字符串后

3.如何在字符串中插入内容<重要>

1)insertString:atIndex函数

作用:将指定字符串插入到目标字符串指定位置

4.如何删除字符串中的内容

1)deleteCharactersInRange函数

作用:删除NSRange指定范围中的字符串

5.如何修改其中一段内容<重要>

1)replaceCharactersInRange:withString函数

作用:将NSRange指定范围中的字符串替换为指定内容

练习:

字符串的逆序:

NSString *s =  @“fire in the hole”;

@“eloh eht ni erif”;

length ,   char*****,   append****

思路:  从字符串最后一个字符开始获取,一个字一个字地获取出来,  添加到可变字符串后面;

字符串单词逆序:

@“fire in the hole”;

每一个单词以一个空格隔开:

@“hole the in fire”;

rangeOf:   options:NSBackWarkSearch,  substringFromIndex: , appendString,  substringToIndex:

while(1)

{

}

思路:    从后面开始查找空格“ ”,  获取后面字符串,添加到一个可变字符串后面, 获取子串继续查找;

==================================

类中的description方法

description方法是NSObject类的一个实例方法,所有的objective-C类都是NSObject类的子类,因此所有的Objective-C对象都具有description方法。该方法通常用于实现自我描述信息的打印。

description方法的默认实现是返回这样的格式: <类名: 地址>;

重写:

- (NSString *)description

{

return oc的字符串;

}

=========================================================

作业:

1、在字符串welcome to qianfeng中删除to

2、hello world中间插入qianfeng:  hello qianfeng world

3、@"When I was young, I loved a girl on neighbour class." 替换部分成:

When I was teacher, I rather teaching the students on neighbour class.

4、在字符串When I was young, I loved a girl on neighbor class.里找出 字串was young,I loved a girl

5、把三个字符串My name is Sean,I come from China,I am 45 years old连接起来成一个字符串;

6、welcome to guangzhou        根据范围找出字串come

7、welcome to guangzhou      找出字符串guangzhou字符串的范围;

时间: 2024-07-28 18:18:13

Objective-C 字符串与可变字符串的相关文章

用不可变字符串跟可变字符串做新闻网页

//不可变字符串方法 //新建一个字符串对象,将文件的内容读出来 NSString *html=[NSString stringWithContentsOfFile:@"/Users/apple/Desktop/txt1.html" encoding:NSUTF8StringEncoding error:nil]; //将文件中的标题替换成我们的标题 NSString *html1=[html stringByReplacingOccurrencesOfString:@"{[

不可变字符串 NSString与可变字符串 NSMutableString

不可变字符串 //创建一个字符串对象 NSString *string = [[NSString alloc] initWithFormat:@"zhong huang -"]; NSString *string1 = [[NSString alloc] initWithFormat:@"zhonger's  age is %d", 33]; NSString *string2 = [[NSString alloc] initWithFormat:@"zh

Objective C -2 - 随机数,可变字符串,字符串,SubString

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 int main(int argc, const char * argv[]) {     @autoreleasepool {                           NSString *outputString = @"[email protected]#$%^&*()"

NSMutableString,可变字符串,拼接,删除,插入,替换

<span style="font-size:18px;"> NSMutableString *str = [NSMutableString stringWithFormat:@"lanouhenan"]; //对于可变字符串的增删改方法, 都是在原字符串基础上进行修改, 所以修改之后的原字符串的内容发生变化, 所以无需返回值 //1 在原字符串基础上拼接Frank [str appendFormat:@"Frank"]; NSLog

NSString NSArray和可变字符串、数组的用法

// 使用实例方法创建NSString对象 NSString *string1 = [[NSStringalloc]initWithFormat:@"姓名流年"]; NSLog(@"%@", string1); NSString *string2 = [[NSStringalloc]initWithFormat:@"Ming"]; NSLog(@"%@", string2); NSString *string3 = [[NSS

可变字符串NSMutableString

NSMutableString *mutableStr = [[NSMutableString alloc] initWithFormat:@"蓝鸥科技有限公司"]; NSMutableString *mutableStr1 = [NSMutableString stringWithFormat:@"蓝鸥科技有限公司"]; //拼接字符串 [mutableStr appendString:@".txt"]; NSLog(@"%@&quo

不可变字符串NSString

/*字符串的常用方法*/ //1.通常用来把一些基本数据类型和字符串进行拼接 int a = 9527; float b = 9527.0; NSString *string = [NSString stringWithFormat:@"%d%.1f",a,b]; NSLog(@"%@",string);//95279527.0 //2.字符串的长度(空格也会计算在内) NSString *string = @"今晚打老虎"; //NSLog(@

OC:可变字符串NSMutableString 的一些用法

NSString 是不可变字符串,所以方法调用时并不是对原字符串进行修改,而是先建立一个原字符串的副本,然后对副本内容进行修改. NSMutableString是NSString的子类,可以使用它的所有方法. 1.NSMutableString提供了附加字符串的方法. 可以使用appendString或appendFormat来对可变字符串操作: - (void) appendString: (NSString *) string; - (void) appendFormat: (NSStrin

可变字符串

#import <Foundation/Foundation.h> int mian (int argc,const char *argv[]) { @autoreleasepool { //首先要创建一个可变字符串 //方法名称为 stringWithCapacity,本质:类方法,属于NSMutableString,返回值:NSMutableString NSMutableString *string = [NSMutableString stringWithCapaty: 30] //容