創(chuàng)建字符串的4種方法
NSString *s = @"這個是第一種"; //1.特殊用法
NSString *s1 = [NSString new];
s1 = @"這是第二種";
NSLog(@"%@",s1); //2.理論用法
for (int i = 0; i<10; i++) {
NSString *imgName = [NSString stringWithFormat:@"xxxxx%02d.jpg",i];
NSLog(@"%@",imgName); //3.格式化創(chuàng)建字條串
}
//4.用一個已經存在的字符串創(chuàng)建一個樣的字符串
NSString *s2 = [[NSString alloc]initWithString:s1];
NSLog(@"s2 = %@",s2);
NSString字符串長度計算(length方法)
NSString *str = @"ican";
NSUInteger len = [str length];
NSLog(@"str length:%ld",len); //一定是%ld,打印4
NSString字符串:取出對應位置的字符
unichar ch = [str characterAtIndex:0]
//取出字符串str下標為0的對應字符,返回unichar類型值
NSString字符串:比較字符串大小
-
無條件
//compare 方法返回結果有3種:
NSOrderedAscending(升序「-1」)云矫,
NSOrderedSame「0」汗菜,
NSOrderedDescending(降序「1」)
NSString *str1 = @"abc";
NSString *str2 = @"bcd";NSComparisonResult result = [str1 compare:str2]; printf("%ld",result); //打印結果為-1(升序)
有條件(可以有多個條件)
/*compare 常用的3個條件:
NSCaseInsensitiveSearch:不區(qū)分大小寫字符
NSLiteralSearch:進行完全比較让禀,區(qū)分大小寫(默認)
NSNumericSearch:比較字符串的字符個數,而不是字符值
*/
NSString *str1 = @"abc";
NSString *str2 = @"Abc";
//可以添加多個比較條件
NSComparisonResult result =
[str1 compare:str2 options:NSCaseInsensitiveSearch|NSNumericSearch];
printf("%ld",result); //打印結果為0
NSString字符串:判斷字符串是否相等
[str1 isEqualToString:str2] //返回BOOL值
NSString字符串前后綴檢查
-
前綴
NSString *url = @"https://ios,itcast.cn"; //檢測一個字符串的前綴是否是http://或者https://開頭 //[str hasPrefix:@"要檢測的內容"]; if ([url hasPrefix:@"http://"]||[url hasPrefix:@"https://"]) { printf("這是一個網址"); }else{ printf("這不是一個網址"); }
-
后綴
NSString *imgName = @"xxxxx.jpg"; //檢測一個字符串的后綴是否是.jpg //[str hasSuffix:@"要檢測的內容"]; if ([url hasSuffix:@".jpg"]) { printf("這是一個jpg圖片"); }else{ printf("這不是一個jpg圖片"); }
NSString字符串的查找
-
查找某個字符串在另外一個字符串中首次出現的位置
NSString *str1= @"slkioslkgilkdiosflgkhldsiosfndslfdsn";
NSString *str2= @"ios";//查找2在1中首次出現的位置 //range 結構體變量 NSRange 結構體別名 //如果查找不到location返回NSNotFound,length返回0 NSRange range = [str1 rangeOfString:str2]; NSLog(@"%lu,%lu",range.location,range.length);
把結構體轉換成NSString類型
NSLog(@"%@",NSStringFromRange(r4)); //r4為結構體變量
字符串的截取
-(NSString *)substringFromIndex:(NSUInteger)from;
從**指定位置**from開始(包括指定位置的字符)到尾部
-(NSString *)substringToIndex:(NSUInteger)to;
從字符串的開頭一直截取到**指定的位置**to陨界,但不包括該位置的字符
-(NSString *)substringWithRange:(NSRange)range;
按照所給出的NSRange從字符串中截取字符串
如:[str substringWithRange:NSMakeRange(4,10)];//不清楚就看NSRange的概念和使用
NSString字符串的替換
-(NSString *)stringByReplacingOccurrencesOfString:(NSString *)target withString:(NSString *) replacement
//用replacement替換target巡揍,返回替換后的字符串
NSString和其他類型的轉換
NSString *str = @"1";
int a = 19;
//把字符串類型轉換成其他類型
int b = [str intValue]; //intValue,floatValue,doubleValue
sum = a+b;
NSString去除首尾空格
[str stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];//返回去除后的字符串
//其他參數:
屏幕快照 2015-09-04 22.13.54.png
-
OC字符串和C字符串的互相轉換
char *s = "zhangsanfeng";
printf("%s\n",s);//用C語言創(chuàng)建一個OC的字符串 NSString *str = [NSString stringWithUTF8String:s]; //相反的用[str2 UTF8String] NSLog(@"str = %@",str);