一、NSString初始化(创建)
1、//最简单粗暴创建方式
NSString * str = @"hello world"; //创建了一个字符串,@"hello world"返回了一个地址,h的地址
2、//使用一个字符串去初始化另外一个字符串
NSString * str1 = [[NSString alloc] initWithString:str];
NSLog(@"%@",str1);
3、//使用数据拼接方式去初始化一个字符串
NSString * str2 = [[NSString alloc] initWithFormat:@"%d%c and%s%.2f",10,'A',"hhh",2.9];
4、//将一个C的字符串转化成为字符串
NSString *str3 = [[NSString alloc] initWithUTF8String:"c语言字符串"];
5、//将一个文件的内容转化成为字符串
/*第一参数:文件路径
第二参数:编码方式(NSUTF8StringEncoding)
第三个参数:错误信息 (nil)*/
NSString * str4 = [[NSString alloc] initWithContentsOfFile:@"/Users/mingge/Desktop/mingzi.txt" encoding:NSUTF8StringEncoding error:nil];
6、使用类方法初始化一个字符串与上面方法类似
二、NSString使用
#pragma mark ----字符串转换成其他数据类型--
NSString* str = @"89a13saa487jhsjd";
//将字符串转换成 double
double strDouble = [str doubleValue];
//将字符串转换成 float
float strFloat = [str floatValue];
//将字符串转换成 int
int strInt = [str intValue];
//将字符串转换成long/NSInteger
NSInteger strInteger = [str integerValue];
//将字符串转换成long long类型
long long strLong = [str longLongValue];
//BOOL类型是OC独有的,只有两个值:YES(1) NO(0)
BOOL strBool = [str boolValue];
NSLog(@"%d",strBool);
#pragma mark ----大小写转换--
NSString * str1 = [NSString stringWithFormat:@"%s","askHHHfjks"];
//- (NSString *)uppercaseString;
//将字符串中所有的小写字母转换成大写字母
NSString * str2 = [str1 uppercaseString];
//- (NSString *)lowercaseString;
//将字符串中所有的大写字母转换成小写字母
NSString * str3 = [str1 lowercaseString];
//- (NSString *)capitalizedString
//将字符串首字母大写,其他的字母全部变成小写
NSString * str4 = [str1 capitalizedString];
#pragma mark 字符串长度
NSString * str5 = @"akhdjkfhsj";
//- (NSUInteger)length;
NSUInteger lenth = [str5 length];
#pragma mark 返回单个字符
//- (unichar)characterAtIndex:(NSUInteger)index;
//char 是C语言的字符一个字节 unichar是OC的字符,两个字节
unichar strchar = [str5 characterAtIndex:2];
NSLog(@"%ld",sizeof(unichar));
NSLog(@"%c",strchar);
//遍历字符串中的每一个字符
for (int i = 0; i < [str5 length]; i ++) {
unichar tChar = [str5 characterAtIndex:i];
NSLog(@"%c",tChar);
}
#pragma mark 比较两个字符串
NSString * str6 = @"acahhhh";
NSString * str7 = @"abahhhh";
//- (BOOL)isEqualToString:(NSString *)aString;
//单纯的比较两个字符串是否相等
BOOL isEqual = [str6 isEqualToString:str7];
//- (NSComparisonResult)compare:(NSString *)aString;
//比较字符串的大小 NSOrderedAscending(-1),前面比后边的字符串小 NSOrderedSame(0)两个字符串相等 NSOrderedDescending(1)前面的字符串比后边的大
//区分大小写
NSComparisonResult reslut = [str6 compare:str7];
//- (NSComparisonResult)caseInsensitiveCompare:(NSString *)aString;
//判断大小时候不区分大小写
NSComparisonResult result2 = [str6 caseInsensitiveCompare:str7];
#pragma mark 字符串查找
NSString * str8 = @"aaahhhhahhnnkkk";
NSString * str9 = @"nkkk";
//- (NSRange)rangeOfString:(NSString *)aString;
//NSRange是一个结构体,有两个成员变量,一个是位置,一个是长度
NSRange range = [str8 rangeOfString:str9];
//- (BOOL)hasPrefix:(NSString *)aString;
//判断str9是不是str8的前缀
BOOL has = [str8 hasPrefix:str9];
//- (BOOL)hasSuffix:(NSString *)aString;
//判断一个字符串是否是另外一个字符串的后缀
BOOL has2 = [str8 hasSuffix:str9];
#pragma mark 字符串提取
NSString * str10 = @"aaabbbkkkhhh";
//- (NSString *)substringFromIndex:(NSUInteger)from;
//从index开始(包括index)提取字符串后面的部分
NSString * substr1 = [str10 substringFromIndex:2];
//- (NSString *)substringToIndex:(NSUInteger)to;
//从字符串开始提取到index之前位置(不包括index)
NSString * subStr2 = [str10 substringToIndex:3];
//- (NSString *)substringWithRange:(NSRange)range;
//在字符串中提取某个范围中的字符串
NSRange range2 = NSMakeRange(4, 3);
NSString * subStr3 = [str10 substringWithRange:range2];
#pragma mark ----字符串分割----
//1.以一个子串分割返回一个数组
//- (NSArray *)componentsSeparatedByString:(NSString *)separator;
//@"assjaksdfhakasdakasl" @"ak"
NSArray * arrar1 = [@"assjaksdfhakasdakasl" componentsSeparatedByString:@"ak"];
//如果在原来的字符串中找不到分割标准字符串,直接返回没有被分割的原字符串
NSArray * arry2 = [@"aa*hhk*@loo*kk" componentsSeparatedByString:@"*@"];
NSLog(@"%@",arry2);
//2.以字符集分割返回数组character
//- (NSArray *)componentsSeparatedByCharactersInSet:(NSCharacterSet *)separator;
NSArray * array3 = [@"I am @hight!!ji#chengkkxu yuan" componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"@!#k"]];
#pragma mark ----字符串拼接----
//3.用数组拼接成字符串
//- (NSString *)componentsJoinedByString:(NSString *)separator;
//以separator为连接符,拼接数组中的每个字符串
NSString* substr = [array3 componentsJoinedByString:@"7"];