字符串 NSString
</pre><pre name="code" class="objc"> //创建方法1:
NSString *str = [[NSString alloc] initWithString:@"NSString"];
//创建方法2:
NSString *str2 = @"从iOS2.0后开始使用";
//创建方法3:
NSString *str3 = [NSString stringWithString:str2];
//创建方法4:(万能拼接方法)
NSString *str4 = [NSString stringWithFormat:@"%@, %@, 在此介绍了%d个创建方法", str, str2, 4];
//创建方法5:
NSString *str5 = [NSString stringWithUTF8String:"UTF8String"];
//创建方法6:
NSString *path = @"/Users/dllo/Desktop/笔记/text/text/abc.txt";
NSString *str6 = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
//创建方法7:
NSURL *url = [NSURL URLWithString:@"http://movieapi.m.damai.cn/Movie/Show/MovieList.aspx?cityId=852&k=&page=1&source=10099&type=2&version=50101"];
NSString *str7 = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];
//长度
NSLog(@"%lu", str.length);
//截取子串: substring
//从索引位置开始(包括当前位置的)截取到该字符串结束
NSLog(@"%@",[str4 substringFromIndex:1]);
//从字符串开头截取,直到索引位置结束(不包括当前位置的)
NSLog(@"%@",[str4 substringToIndex:1]);
//通过范围来截取子串
//定义一个范围对象Range NSMakeRange(loctaion, length) 从location开始(包含)往后的length个
NSRange rang = NSMakeRange(1, 2); //结构体的定义: 通常有个Make
// NSRange rang = {1, 2}; C语言的写法
NSLog(@"%@",[str4 substringWithRange:rang]);
//拼接 appending
NSString *appendingStr = [str stringByAppendingFormat:@",%d个获取子串的方法", 3];
appendingStr = [str stringByAppendingString:str2];
appendingStr = [str stringByAppendingString:@"Appending方法返回新串,原字符串不变"];
//替换 replacing
//替换固定内容 (可以用来处理敏感字)
NSString *replacStr1 = [str stringByReplacingOccurrencesOfString:@"政府" withString:@"**"];
//替换指定范围
NSString *replacStr2 = [str stringByReplacingCharactersInRange:rang withString:@"**"];
//比较1: equal
#warning 注意: 两个字符串不能直接判断相等, 需要使用方法isEqualToString: 的返回值来判断
if ([str isEqualToString:@"其他"]) {
NSLog(@"相等");
} else {
NSLog(@"不相等");
}
//比较2: compare
NSInteger result = [str compare:str2]; //返回值 -1:后面的大; 0:一样大; 1:前面的大
//判断以什么开头
if ([str hasPrefix:@"http"]) {
NSLog(@"是网址");
}
//判断以什么结尾
if ([str hasSuffix:@"jpg"]) {
NSLog(@"jpg格式的图片");
}
可变字符串 NSMutableNSString
<pre name="code" class="objc"> //可变字符串是继承自不可变字符串的, 所以不可变字符串的方法可变字符串基本都有
#warning 注意: 可变字符串的操作, 都是在自身的基础上, 不返回新串
NSMutableString *mutableStr = [NSMutableString stringWithFormat:@"NSMutableStr"];
//字符串拼接 关键字: append
[mutableStr appendString:@",操作都是在自身上"];
//字符串的删除 关键字: delete
[mutableStr deleteCharactersInRange:NSMakeRange(0, 5)];
//字符串的插入 关键字: insert
[mutableStr insertString:@"可变字符串:" atIndex:0];
//字符串的替换 关键字: replace
[mutableStr replaceCharactersInRange:NSMakeRange(0, 4) withString:@"Mutable"];
//在range这个范围内查找 "操作",并用 "改变"替换
[mutableStr replaceOccurrencesOfString:@"操作" withString:@"改变" options:1 range:NSMakeRange(0, 10)];