iOS NSString中實用的方法

joker_king發表於2018-12-19

擷取字串

//從指定下標開始(包含指定下標)到字串結尾的字串
NSString *subString1 = [@"ASDFG" substringFromIndex:3];
//獲取從原字串起始到指定下標(不包含指定下標)的字串。
NSString *subString2 = [@"BIGJNDSU" substringToIndex:3];
複製程式碼

在控制檯輸出的結果如下

2016-06-27 15:06:53.838 測試[23705:290038] FG
2016-06-27 15:06:53.839 測試[23705:290038] BIG
複製程式碼

使用結構體NSRange來擷取字串 結構體NSRange包含兩個長整形成員,分別為起始下標和長度。如果使用range擷取字串,則表示從指定下標開始擷取指定長度的字串並返回。

NSRange range = NSMakeRange(1, 2);
NSString *subString3 = [@"HJGFDGDFLGA" substringWithRange:range];
複製程式碼

在控制檯輸出的結果如下

2016-06-27 15:10:07.930 測試[23905:293145] JG
複製程式碼

字串的替換

通過指定的引數字串替換對應範圍的字元們【字串替換】

NSString *replacedString = [@"HGJHJFDGHDFHHGH" stringByReplacingCharactersInRange:NSMakeRange(1, 3) withString:@"hjfsdh"];
NSLog(@"%@",replacedString);
複製程式碼

在控制檯輸出的結果如下

2016-06-27 15:12:46.697 測試[24075:295990] HhjfsdhJFDGHDFHHGH
複製程式碼

獲取指定字串在原字串中的範圍,然後再替換 **注意:**當字串中有多個指定的字串,預設只替換第一個

NSString *textString = @"HJHGJDSFHGDFJKHDH";
NSRange replaceRange = [textString rangeOfString:@"HJH"];
NSString *resultStr = [textString stringByReplacingCharactersInRange:replaceRange withString:@"fdsf"];
NSLog(@"%@",resultStr);
複製程式碼

在控制檯輸出的結果如下

2016-06-27 15:15:52.071 測試[24282:299387] fdsfGJDSFHGDFJKHDH
複製程式碼

判斷字串

判斷字串是否包含指定字串,返回值是BOOL型別的

BOOL result1 = [@"gkjfdskjkgjkl" containsString:@"am"];
複製程式碼

返回大寫字串

NSLog(@"%@",@"kjfldsjfsljfs".uppercaseString);
複製程式碼

返回小寫字串

NSLog(@"%@",@"kjfldsjfsljfs".lowercaseString);
複製程式碼

返回首字母大寫字串

NSLog(@"%@",@"kjfldsjfsljfs".capitalizedString);
複製程式碼

判斷指定字串是否有字首字串,返回值為BOOL型別

BOOL result2  = [@"http:www.dsfsf.com" hasPrefix:@"http"];
複製程式碼

判斷指定字串是否有字尾字串,返回值為BOOL型別

BOOL result3  = [@"http:www.dsfsf.com" hasSuffix:@".com"];
複製程式碼

相關文章