您的位置:首页 > 移动开发 > Objective-C

Object-C 之 字符串

2016-05-24 20:38 375 查看
字符串(NSString 与 NSMutableString) 属于Foundation框架,其中NSString是不可变字符串,NSMutableString是可变字符串。

【1】NSString

// 1.创建字符串
NSString *str = @"Hello World";
NSString *str1 = [NSString stringWithFormat:@"%@", str];

unichar data[] = {97, 98, 99 , 100};
int length = sizeof(data)/sizeof(data[0]);
NSString *str2 = [[NSString alloc] initWithCharacters:data length:length];

const char *cstr = "Hello iOS";
NSString *str3 = [[NSString alloc] initWithCString:cstr encoding:NSUTF8StringEncoding];

// 2.读取文件或网络URL初始化字符串
NSString *str4 = [NSString stringWithContentsOfFile:@"myInfo.txt" encoding:NSUTF8StringEncoding error:nil];
[str4 writeToFile:@"myInfo.txt" atomically:YES encoding:NSUTF8StringEncoding error:nil]; // 把字符串写入文件

NSString *str5 = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"http://baidu.com"] encoding:NSUTF8StringEncoding error:nil];
[str5 writeToURL:[NSURL URLWithString:@"http://www.baidu.com"] atomically:YES encoding:NSUTF8StringEncoding error:nil]; // 把字符串写入URL

// 3.获取字符串长度
[str length];

// 4.截取子串
str = [str substringFromIndex:2]; // 从2号位置开始,到结束
str = [str substringToIndex:2]; // 从开始位置到2号位置
str = [str substringWithRange:NSMakeRange(0, 2)]; // 0号位置开始,2个字符长度,比如:“Hello”截取之后就是“He”

// 5.拼接字符串
NSString *book = @"《疯狂iOS讲义》";
str = [str stringByAppendingString:@" iOS"]; // 返回拼接后的字符串
str = [str stringByAppendingFormat:@"%@", book];

// 6.比较字符串
[str compare:str2];
// 返回值NSComparisonResult是枚举类型,分别为: NSOrderedAscending(str<str2)、NSOrderedSame(str==str2)、NSOrderedDescending(str>str2)

// 7.分割字符串
NSArray *arr = [str componentsSeparatedByString:@" "]; // 以空格分割字符串
NSLog(@"%@", arr); // = [hello, world]

// 8.大小写转换
str = [str uppercaseString]; // 转大写
str = [str lowercaseString]; // 转小写
str = @"hello world";
// 单词首字母大写
str = [str capitalizedString]; // = Hello World

// 9.判断方法
if ([str rangeOfString:@"iOS"].location != NSNotFound) { // 判断str是否包含“iOS”,返回值是一个范围,也可用于查找“iOS”在str中出现的位置
NSLog(@"contanis iOS");
}
if ([str containsString:@"iOS"]) { // 判断str是否包含“iOS”
NSLog(@"contanis iOS");
}


【2】NSMutableString

NSMutableString是NSString的子类,它具有所有的NSString类的方法

部分特有方法如下:

// 1. 增加方法
NSString *book = @"《疯狂iOS讲义》";
NSMutableString *str = [NSMutableString stringWithString:@"iOS"];
[str appendString:@" 学习教程:"];
NSLog(@"%@", str); // = “iOS 学习教程:”
[str appendFormat:@"%@", book];
NSLog(@"%@", str); // = “iOS 学习教程:《疯狂iOS讲义》”

// 2. 修改方法
[str insertString:@"Hello " atIndex:0]; // 在0号位置插入“Hello”
NSLog(@"%@", str); // = “Hello iOS 学习教程:《疯狂iOS讲义》”
[str replaceCharactersInRange:NSMakeRange(6, 3) withString:@"Object-C"]; // 使用指定字符串替换指定范围的字符串
NSLog(@"%@", str); // = “Hello Object-C 学习教程:《疯狂iOS讲义》”

// 3. 删除方法
[str deleteCharactersInRange:NSMakeRange(0, 6)]; // 删除指定范围的字符串
NSLog(@"%@", str); // = “Object-C 学习教程:《疯狂iOS讲义》”


关于字符串的方法就写这么多吧,以后自己查阅时,觉得不够用再补充。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: