------<Java培训、Android培训、iOS培训、.Net培训>、期待与您交流! -------
Foundation框架之NSString
NSString
*********************************************************
NSString对象代表是字符串
创建方式为
NSString *str =@“abc”;//为不可变字符串
格式化输出字符串为
NSString *str1=[NSString stringWithFormat:@"%@",@"jack"];
*********************************************************
从文件中读取
写入文件中
NSString *str =@"welcome to handan";
NSError err;
[str writeToFile:@"/Users/lilida/Desktop/a.txt" atomically: YES encoding:NSUTF8StringEncoding error:&err];
从文件中读取到内容
NSString *str5 = [NSString stringWithContentsOfFile:@"/Users/lilida/Desktop/a.txt"
encoding:NSUTF8StringEncoding error:&err];
创建NSURL的两种方式
NSURL *url = [NSURL URLWithString:@"file:///Users/lilida/str1.txt"];
NSURL *url = [NSURL fileURLWithPath:@"/Users/lilida/str1.txt"];
SString 的常见方法
全部字符转换成大写字母
-(NSString*)upercaseString
全部字符转换成小写字母
- (NSString *)lowercaseString
首字母变成大写,其他字母变成小写,
- (NSString *)capitalizedString
************************************************
- (BOOL)isEqualToString:(NSString *)aString;
两个字符串的内容相同就返回YES, 否则返回NO
NSString *str=@“abc”;
NSString *str2=[NSString stringWithFormat:@"aBc"];
NSLog(@"%d",[str isEqualToString:str2])
返回结果0
*************************************************
- (NSComparisonResult)compare:(NSString *)string;
这个方法可以用来比较两个字符串内容的大小
比较的是值
可以有参数的比较
NSCaseInsensitiveSearch:不区分大小写字符。
NSLiteralSearch:进行完全比较,区分大小写。(默认)
NSNumericSearch:比较字符串的字符个数,而不是字符值。
例如
NSString *str=@“abc”;
NSString *str2=[NSString stringWithFormat:@"aBc"];
NSComparisonResult result = [str compre:str2 options:NSNumericSearch];
NSLog(@"%ld",result);
*************************************************
返回字符串长度
- (NSUInteger)length;
返回index位置对应的字符
- (unichar)characterAtIndex:(NSUInteger)index;
***************************************************
字符串查找
typedef struct _NSRange {
NSUInteger location; //位置
NSUInteger length; //长度
} NSRange;
NSString *str =@"http://www.baidu.com"
NSRange range;
range =[str rangOfString:@"itcast"];
NSlog(@"%ld,%ld",range.location,range.length);
********************************************
NSRange创建的几种方式
使用函数创建
NSRange range = NSMakeRange(7, 3);
直接方式
NSRange range = {5,8};
查看Range的值
NSLog(@"%@",NSStringFromRange(range));
***********************************************
NSMutableString字符串
可变字符串
指的是字符串在内存中占用的存储空间可以不固定,并且存储的内容可以被修改
把十个itcast拼接到一起
NSString *substr = @"itcast";
NSMutableString *destStr = [NSMutableString string];
for (int i = 0; i<10; i++) {
// if (i != 0) {
if (i) { // 只有i不等于
[destStr appendString:@" "];
}
[destStr appendString:substr];
}
NSMutableString易犯错误
NSMutalbeString *s1 = @”hello”;
这样创建出来的还是NSstring 字符串还是不可操纵