今天系統性的學習了oc中的nsstring(字串)類以及它的子類nsmutablestring(可變字串)類,
下面舉例介紹下裡面的一部分比較常用方法
一 nsstring類的部分方法, nsstring 是不可變字串,所以方法呼叫時並不是對原字串進行修改,
而是先建立乙個原字串的副本,然後對副本內容進行修改
1.建立物件兩種方式:
(1)便利構造器( + 號方法):stringwithformat
nsstring *str1 = [nsstring stringwithformat:@"iphone5"];
nslog(@"str1 :%@", str1);
(2)alloc + 初始化方法:initwithformat
nsstring *str2 = [[nsstring alloc] initwithformat:@"iphone5s"];
nslog(@"str2 :%@", str2);
2.求字串長度:length
nsuinteger length = [str1 length];//引用方法1中的str1
nslog(@"%lu", length);//控制台輸出進行檢驗
3.獲取字串中的某個字元:characteratindex
unichar charac = [str1 characteratindex:5];//引用方法1中的str1
nslog(@"%c", charac);//控制台輸出進行檢驗
4.判斷是否以指定的字串開頭:hasprefix
或者以指定的字串結尾:hassuffix
例如:判斷乙個字串是否以http開頭,是否以.com結束
nsstring *str3 = [[nsstring alloc]initwithformat:@""];
//判斷是否以http開頭
nslog(@"isprefix = %d", isprefix);//控制台輸出進行檢驗(bool型別,非0為真)
//判斷是否以.com結尾
bool issuffix = [str3 hassuffix:@".com"];
nslog(@"issuffix = %d", issuffix);//控制台輸出進行檢驗(bool型別,非0為真)
5.查詢指定字串的範圍:rangeofstring
nsrange range = [str3 rangeofstring:@"www"];//引用方法4中的str3
if (range.length == 0) else
6.字串擷取(獲取子字串)
nsstring *str4 = [nsstring stringwithformat:@"kevinisaman"];
(1)獲取給定下標之後的子串,包含指定下標對應的字元:substringfromindex
nsstring *substring1 = [str4 substringfromindex:11];
nslog(@"substring1: %@", substring1);
(2)獲取給定下標之前的子串(從下標為0開始),但是不包含指定下標對應的字元:substringtoindex
nsstring *substring2 = [str4 substringtoindex:5];
nslog(@"substring2: %@", substring2);
(3)獲取指定範圍內的子串:substringwithrange
nsstring *substring3 = [str4 substringwithrange:nsmakerange(0, 5)];
//nsmakerange:建立乙個nsrange型別的結構體
nslog(@"substring3: %@", substring3);
nsstring *str5 = [nsstring stringwithformat:@"lanou"];
(1)lanou 後拼接 henan
nslog(@"combine1: %@", combine1);
(2)lanou 後拼接 henan9ban
nslog(@"combine2: %@", combine2);
8.替換字串:stringbyreplacingoccurrencesofstring
或者 stringbyreplacingcharactersinrange
nsstring *str6 = [nsstring stringwithformat:@"lanououououisabigcompany"];
(1)將 ou 替換為 uo
nsstring *replace1 = [str6 stringbyreplacingoccurrencesofstring:
@"ou" withstring:@"uo"];
nslog(@"replace1:%@", replace1);//控制台輸出進行檢驗
(2)將第乙個 ou 替換為 uo
nsstring *replace2 = [str6 stringbyreplacingcharactersinrange:
nsmakerange(3, 2) withstring:@"uo"];
nslog(@"replace2:%@", replace2);//控制台輸出進行檢驗
9.字串比較:compare
nscomparisonresult result = [@"lanou" compare:@"oulan"];
nslog(@"%ld", result);//控制台輸出進行檢驗
10.字串和數值型別轉換
(1)@"123", 將字串轉化為整數123.
int value = [@" 123abc" intvalue];
nslog(@"%d", value);//控制台輸出進行檢驗
(2)將數字轉為字串物件
nsstring *str = [nsstring stringwithformat:@"%d", 123];
nslog(@"%@", str);//控制台輸出進行檢驗
11.字串轉換大小寫
(1)將@"lan ou"全部轉為大寫:uppercasestring
nsstring *stra = [@"lan ou" uppercasestring];
nslog(@"%@", stra);
(2)將@"lan ou"全部轉為小寫:lowercasestring
nsstring *strb = [@"lan ou" lowercasestring];
nslog(@"%@", strb);
(3)將@"lan ou"每個單詞的首字母大寫:capitalizedstring
nsstring *strc = [@"lan ou" capitalizedstring];
nslog(@"%@", strc);
二 nsmutablestring 是 nsstring 的子類,所以它繼承了nsstring的全部內容,當然也包括上面
的方法,下面介紹一些它獨有的方法,因為 nsmutablestring 是可變字串,所以方法都是在原字元
串的基礎上進行修改
nsmutablestring *str = [nsmutablestring stringwithformat:@"lanouhenan"];
2.在原字串str基礎上拼接frank
nslog(@"%@", str);//控制台輸出進行檢驗
3.刪除原字串,在原字串基礎上刪除henan.
[str deletecharactersinrange:nsmakerange(5, 5)];
nslog(@"%@", str);//控制台輸出進行檢驗
4.插入字串,在原字串基礎上插入henan
[str insertstring:@"henan" atindex:5];
nslog(@"%@", str);//控制台輸出進行檢驗
5.替換字串,在原字串基礎上將第乙個frank替換成kevin
[str replacecharactersinrange:nsmakerange(10, 5) withstring:@"kevin"];
nslog(@"%@", str);//控制台輸出進行檢驗
OC 不可變字串和可變字串的一些用法
字串 nsstring 不可變字串 1.初始化方法 初始化乙個空的字串 nsstring string nsstring alloc init nsstring string1 asds 字面量 nslog string1 根據字串初始化 nsstring string2 nsstring allo...
字串 可變字串與不可變字串
一 nsstring 是不可變字串,所有它所有產生其他字串方法都是生成乙個新的字串,而不會改變原來字串 第一種 字面量 它是常量字串,儲存常量區 nsstring str abc 第二種是通過 快捷的構造方法 nsstring stringwithformat 第三種方式 初始化方法 nsstrin...
OC基礎使用 四 NSString 不可變字串
nsstring 不可變字串 1.建立 1.1 以常量的方式 nsstring string1 100 1.2 以靜態方法 常用 將c字串轉換為oc字串,並指定編碼集 nsstring string2 nsstring stringwithcstring world encoding nsutf8s...