您的位置:首页 > 其它

oc-字符串NSString,NSMutablesString基本使用方法

2015-11-07 15:08 459 查看

一.NSString字符串

>字符串是Foundation框架下的类,iOS2.0以后。

> NSString是不可变的字符串

>一旦被创建(即开辟了空间),只可读取,不能被修改(即修改和删除内容)。

1.创建一个字符串(通过初始化方法)

NSString *str
= @"今天天气真不错";

NSString *str1 = [[NSStringalloc]initWithFormat:@"%@",
str];

2.创建一个字符串
>(便利构造器,每一个便利构造器都是以这个类名开头)

NSString *str = @"今天天气真不错";
//通常我们都写成上面种形式。直接@

NSString *str2 = [NSString stringWithString:@"大家一起出去春游吧"];

//利用另一个字符串来初始化

NSString *str2 = [NSString stringWithString:str];

NSString *str3 = [NSString stringWithFormat:@"%@",str2];

3.字符串的万能方法,
>(通常用于字符串的拼接,Format的@“ ”,是一个格式)
> (你可以放任何你想要组成的字符串格式)

NSString *str5 = [NSStringstringWithFormat:@"%@,
%@,每人交%d块钱", str, str2,20];

4.获取字符串长度 (关键字length) //字符串长度通过length获得

NSLog(@"%ld",
[str length]);//通过length方法
NSLog(@"%ld",str.length); //通过点语法

5.截取字符串
>(获取子字符串,三种方法)关键字(sub)
(substringFromIndex)(substringToIndex)(substringWithRange)

5.1:substringFromIndex
> 从索引位置开始(包括当前位置的)截取到该字符串结束
>( 就是从开头数1个字符串舍弃,如果是n,就是数n个舍弃)

NSString*subStr1 =
[str5substringFromIndex:1];

结果:今天的“今”,不见了。

5.2:substringToIndex,
>从字符串开头截取,直到索引位置结束(不包括当前位置的)
>(就是从开头数n个字符,不在这个范围内的舍弃,和上一个相反)

NSString *subStr2 = [str5substringToIndex:1];
结果:只留下了今天的“今”

5.3:substringWithRange:
> 通过范围来截取子串
>从location开始(包含)往后截取length个(下标从0开始数)

从下标为1的字符串开始,截取2个字符给subStr3

// NSRange range = NSMakeRange(1, 2);
// NSString *subStr3 = [str5 substringWithRange:range];
上两句和下面句含义相同
NSString*subStr3 =[str5
substringWithRange:NSMakeRange(1,2)];

6.字符串的拼接 (关键字:appending)
>可以使用标题3,字符串万能方法

NSString *apStr1 = [strstringByAppendingFormat:@"学委请%@的自助餐",80];

//以字符串来拼接字符串
NSString *apStr2 = [strstringByAppendingString:@"大家一起出去春游吧"];

7.字符串替换,两种形式(关键字:replacing)

7.1:替换字符串内固定内容

>(两个长度可以不一样)用****替换今天

NSString *replacStr = [strstringByReplacingOccurrencesOfString:@"今天"withString:@"****"];

7.2:替换字符串内固定位置
从2这个下标开始,数4个长度。
> (如果withString后面的长度比4长
> 则替换4个长度中的内容。如果长度比4短,则替换位置)

NSString *replacStr2 = [strstringByReplacingCharactersInRange:NSMakeRange(2,4)withString:@"放假"];

8.字符串比较 :(关键字:isEqualToString:compare:hasSuffix:hasPrefix)
//表示这个str字符串和@“ ”中的内容是否相同。
>isEqualToString,[str
isEqualToString:@"字符串"];
//str
比 str2 大,则返回 1,小则返回-1,相同则返回0

>compare,
[str compare:str2];
//str是否以@“”这个字符串结尾
>hasSuffix,
[str hasSuffix:@"字符串"];
//str是否以@“”这个字符串开头
>hasPrefix,
[str hasPrefix:@"字符串"];

9.字符串分割 (关键字:components)

NSString *str5 = [[NSString
alloc]
initWithFormat:@"20|http://www.baidu.com"];
//以|为分割点,返回值是一个数组
NSArray *str7 = [str5
componentsSeparatedByString:@"|"];

10.字符串包含 (关键字:contain)
//检测这个字符串是否包含|。

[str5
containsString:@"|"];

二:可变字符串NSMutableString

注意:可变字符串是在自己本身的基础上做修改,没有返回值

NSMutableString *mutableString = [NSMutableString stringWithFormat:@"走了两个战友"];

//字符串拼接关键字:append

[mutableString appendString:@",我们来年再战"];

//字符串的删除关键字:delete
[mutableString deleteCharactersInRange:NSMakeRange(1,5)];

//字符串的插入关键字:insert
[mutableString insertString:@"����"
atIndex:1];

//字符串的替换关键字:replace
[mutableString replaceCharactersInRange:NSMakeRange(1,4)
withString:@"***≈"];
[mutableString replaceOccurrencesOfString:@""
withString:@"����" options:4
range:NSMakeRange(10,2)];

NSLog(@"%@", mutableString);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: