一、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"];