//字符串操作
//1 求字符串長度
NSString * str = @"hello world";
NSUInteger len = [str length];//unsigned long
NSLog(@"len = %lu",len);
2 把輸入的字符串轉(zhuǎn)化為OC字符串
char ch[100] = {};
//abzzzdf ab
scanf("%[abc]",ch);//ch = ab a = 1 a = 2
scanf("%[^\n]",ch); //ch = zzzdf;
// a b '1' '\n'
//掃描集形式%[] 括號(hào)里邊是條件
// ^字符 當(dāng)做條件 除了這個(gè)字符 都接受 直到碰到此字符 接收結(jié)束
//把C字符串 轉(zhuǎn)換為OC
NSString *str1 = [NSString stringWithUTF8String:ch];
NSLog(@"str1 = %@",str1);
//3 獲取某個(gè)位置的字符
//char %c unichar %C
unichar ch =[str characterAtIndex:0];
NSLog(@"%C",ch);
//4 把單個(gè)字符轉(zhuǎn)化為字符串
NSString * strChar = [NSString stringWithFormat:@"%C",ch];
NSLog(@"strChar = %@",strChar);
//5 提取子串 從0提取到index 不包含index
//hello world
NSString *subStr1 = [str substringToIndex:4];
NSLog(@"substr1 = %@",subStr1);
//6 提取子串 從index到末尾 包含index
NSString *subStr2 = [str substringFromIndex:2];
NSLog(@"subStr2 = %@",subStr2);
7 提取范圍字符子串
NSRange range1 = {3,4};
//NSRange 定義一個(gè)范圍 {A,B} 從A開始 B個(gè)位置
//NSString 開頭類方法 構(gòu)造一個(gè)對象 對象開頭 對此對象進(jìn)行操作
NSString *subStr3 = [str substringWithRange:range1];
NSLog(@"subStr3 =%@",subStr3);
8 判斷是否含有前綴
NSString *str1 = @"www.baidu.com";
BOOL ret = [str1 hasPrefix:@"www"];
if (ret){
NSLog(@"str1含有www前綴");
}else{
NSLog(@"str1不含有前綴");
}
if ([str1 hasSuffix:@"com"]){
NSLog(@"str1含有后綴com");
} else{
NSLog(@"str不含有后綴");
}
9 字符串轉(zhuǎn)換成大寫字符
NSString *str2 = @"asdfgQWERTxcvb";
NSString * str3 = [str2 uppercaseString];
NSLog(@"str3 = %@",str3);
9.1字符串轉(zhuǎn)換成小寫字符
NSString *str4 = [str2 lowercaseString];
NSLog(@"str4 = %@",str4);
9.2把字符串首字母大寫
NSString *str5 = [str2 capitalizedString];
NSLog(@"str5 = %@",str5);
10 把字符串轉(zhuǎn)換成基本數(shù)據(jù)類型
NSString *str6 = @"123";//floatValue intgerValue
NSLog(@"%i",[str6 intValue]);
11 字符串比較
NSString *str1 = @"ABC";
NSString *str2 = @"abc";
NSComparisonResult ret = [str1 compare:str2];
//str1-str2 0 1
11.1 升序 NSOrderedAscending = -1L, NSOrderedSame, NSOrderedDescending
if (ret == NSOrderedAscending)
{
NSLog(@"str1 <str2");
}
else if(ret == NSOrderedSame)
{
NSLog(@"str1 = str2");
}
else
{
NSLog(@"str1>str2");
}
/*
NSCaseInsensitiveSearch = 1, 以大小寫不敏感形式進(jìn)行比較
NSLiteralSearch = 2, 正序查找
NSBackwardsSearch = 4, 反序查找
*/
NSComparisonResult ret1 = [str1 compare:str2 options:NSCaseInsensitiveSearch];
if (ret1 == 0)
{
NSLog(@"大小寫不敏感");
}
12 判斷字符串是夠相等
BOOL ret2 =[str1 isEqualToString:str2];
if (ret2 == 0)
{
NSLog(@"str1 不等于 str2");
}
13 字符串查找
NSString * str = @"nanjing boweifeng nanjing";
NSRange range1 =[str rangeOfString:@"jing"];
//range1.location 字符串的下標(biāo) range1.length 字符串的長度
if (range1.location== NSNotFound)
{
NSLog(@"沒有查找到");
}
else
{
NSLog(@"location =%li length =%li",range1.location,range1.length);
}
13.1 選擇正序或者逆序查找
NSRange range2 = [str rangeOfString:@"jing" options:NSBackwardsSearch];
if (range2.location== NSNotFound)
{
NSLog(@"沒有查找到");
}
else
{
NSLog(@"location =%li length =%li",range2.location,range2.length);
}
13.2 在指定范圍內(nèi) 正序或者逆序查找 1 要查找的字符串 2 添加一個(gè)條件正序或者逆序 3 在指定范圍內(nèi)nanjing boweifeng nanjing
NSRange range3 = [str rangeOfString:@"feng" options:NSLiteralSearch range:NSMakeRange(8, 10)];
NSLog(@"location =%li length =%li",range3.location,range3.length);
14 替換
// 1 使用某個(gè)字符串替換字符串
NSString *str3 = [str stringByReplacingOccurrencesOfString:@"nanjing" withString:@"替換"];
NSLog(@"str3 = %@",str3);
//2 在某個(gè)范圍內(nèi) 正序或者逆序 使用某個(gè)字符串替換字符串
NSString *str4 = [str stringByReplacingOccurrencesOfString:@"nanjing" withString:@"替換" options:NSBackwardsSearch range:NSMakeRange(10, 15)];
NSLog(@"str4 = %@",str4);
//3
NSString *str5 = [str stringByReplacingCharactersInRange:NSMakeRange(5, 7) withString:@"替換范圍"];
NSLog(@"str5 =%@",str5);
15 讀取網(wǎng)址
NSURL * url =[NSURL URLWithString:@"http://www.douyu.com"];
//1 網(wǎng)址 2 編碼要求 3 nil
NSString *urlString = [NSString stringWithContentsOfURL:url encoding:4 error:nil];
NSLog(@"urlString =%@",urlString);
16 讀取文件
NSString *fileString = @"/Users/wangjiawei/Desktop/git命令.rtf";
NSString *fileContent = [NSString stringWithContentsOfFile:fileString encoding:4 error:nil];
NSLog(@"fileContent = %@",fileContent);