您的位置:首页 > 其它

字符串和可变字符串

2015-07-31 08:31 363 查看
一、字符串的初始化方式
1.不常使用的初始化
方法一
NSString *string = [[NSString alloc] init];
方法二
NSString *string1 = [[NSString alloc] initWithString:string];//初始化同时赋值
示例:NSString *string1 = [[NSString alloc] initWithString:@“邹贤”];
2.常使用的初始化
方法一
NSString *string = [NSString string];
方法二
NSString *string1 = @“value”;//初始化的同时并赋值
示例:NSString *string1 = @“邹贤”;
3.字符串处理
1)字符串的格式化处理
NSString *name = [NSString stringWithFormat:<#(NSString *), …#>];
int age = 18;
NSString *string = [[NSString alloc]initWithFormat:@“%d",age];
2)从哪个位置开始截取字符串(截取哪一个位置的字符串)
NSString *name1 = [name substringFromIndex:<#(NSUInteger)#>];//Index不是下标,所以不是从0开始
3)截取字符串到那个位置
NSString *name2 = [name substringToIndex:<#(NSUInteger)#>];
4)截取字符串从哪到哪的值
在开始学习这个知识点以前先让我们回顾一下结构体的使用方法:
结构体的关键字是struct,我们可以把它看成一个整体,它是由不同数据类型组成的一个整体。结构如下:
typedef struct Person {
int age; //定义一个整型类型的年龄
char *name;//定义一个字符类型的名字
}Person;
注意:在结构体里面我们一般是定义某个类的所有类型,在定义完后是以分号结束,而不是像枚举类型是以逗号结束。
使用方法:
Person peson;//这里Person是一个类型
peson.age = 20;
peson.name = "大白";

A.结构体是对事物的一个抽象
NSRange range;
A.a:定义range结构体的位置
range.location = 6;//这里是从字符串的第6个位置开始
A.b:在这个位置的基础之上 继续数几个长度
range.length = 5;
NSString *name3 = [name substringWithRange:range]);
截取字符串从到哪新方法
NSString *res = [message substringWithRange:NSMakeRange(6, 5)];
NSLog(@"Chars from index 6 through 5: %@", res);

5)把字符串通过指定字符分割成数组
NSString *result = @"武松打虎 duang!duang!duang! 老虎跑下山 ya~ya~ya~";
NSArray *wordList = [result componentsSeparatedByString:@" "];
//通过快速遍历把数组里的内容遍历出来
for (NSString *obj in wordList) {
NSLog(@"%@", obj);
}

6)英文字母转换
a. // 把所有英文字母 转成大写
NSString *word = @"zouXian";
NSLog(@"%@", word.uppercaseString);
ZOUXIAN
b.// 把所有英文字母 转成小写
NSLog(@"%@", word.lowercaseString);
zouxian
c. //把英文字母首字母 转成大写
NSLog(@"%@", word.capitalizedString);
Zouxian
7)拼接字符串
//拼接字符串
NSString *ss = @"我是";
NSString *ss1 = @"好人";
方法一
// 1、stringWithFormat
NSLog(@"%@", [NSString stringWithFormat:@"%@中国%@", ss, ss1]);
我是中国好人
方法二
// 2.stringByAppendingString
NSLog(@"%@", [ss stringByAppendingString:ss1]);
我是好人
方法三
// 3.stringByAppendingFormat
NSLog(@"%@", [ss stringByAppendingFormat:@"%@不止一天两天三四天", ss1]);
我是好人不止一天两天三四天

8)查询字符串
// 4.判断字符串 是否包含某个字符串
NSString *name = @"上山打老虎跑了";
NSRange range = [name rangeOfString:@“老虎”];
if((range119.location |= NSNotFound)){//通过查找位置信息来查找需要查找字符串的信息
NSLog(@"%@", name);
}else {
NSLog(@"骗人~~~~");
}
9) a.判断字符串以什么开始(字符串的头部包含什么内容)
if ([name hasPrefix:@"上山"] != NO) {
NSLog(@"%hhd", YES);//如果判断为真,则输出1
}else{
NSLog(@"%hhd", NO);//如果判断为假,则输出0
}

b.字符串以什么结束(字符串的尾部包含什么内容)
if([sss hasSuffix:@"走了"] != NO){
NSLog(@"%hhd", YES);//如果判断为真,则输出1
}else{
NSLog(@"%hhd", NO);//如果判断为假,则输出0
}
二、可变字符串
类名: NSMutableString
1.把指定位置的字符串 替换成另一个字符串
NSRange range;
range.location = 2;
range.length = 4;
NSMutableString *hero = [[NSMutableString alloc]initWithString:@"我是德玛西亚"];
[hero replaceCharactersInRange:range withString:@"麦林炮手"];
NSLog(@"%@", hero);

2. 删除指定长度的字符串
range.location = 0;
range.length = 2;
[herodeleteCharactersInRange:range];
NSLog(@"%@", hero);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: