码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2016-01-03 22:25:29      阅读:270      评论:0      收藏:0      [点我收藏+]

标签:

知识点

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字符串的范围;

 

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

标签:

原文地址:http://www.cnblogs.com/-Lim/p/5097209.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!