//* 1. 建立物件
// 兩種方式:
//(1)便利構造器(+號方法) stringwithformat:
nsstring *str1 = [nsstring stringwithformat:@"iphone%d", 5];
nslog(@"str1 = %@", str1);
//(2)alloc+初始化方法 initwithformat:
nsstring *str2 = [[nsstring alloc] initwithformat:@"iphone%d", 4];
nslog(@"str2 = %@", str2);
//(3)根據字串初始化oc字串物件,沒人用這種方法
nsstring *str3 = @"lanou";//儲存常量字串@「lanou」的位址
//2.求字串的長度
//length這個方法有返回值
nsuinteger length = [str1 length];
nslog(@"length = %lu", length);
//3 獲取字串中的某個字元
characteratindex有返回值,不可越界
reason:問題產生的原因,nscfstring == nsstring, 又是乙個減號方法,所以問題產生的原因是:讓乙個nsstring型別的物件,呼叫characteratindex:方法時,給丁的字串下標超出了範圍,即下標越界
//解決方案:將陣列下標修改範圍之內的數即可
unichar charac = [str1 characteratindex:4];
nslog(@"%c", charac);
//4.判斷是否以指定的字串開頭或結尾,返回值為bool型別
//例如:判斷乙個字串是否以http開頭,是否以.com結束
判斷是否以http開頭 hasprefix方法
//判斷是否以.com結束 hassuffix方法
bool issuffix = [str4 hassuffix:@".com"];
nslog(@"issuffix = %d", issuffix);
//5.查詢指定字串的範圍 rangeofstring:
nsrange range = [str4 rangeofstring:@"htt"];//nsrange是乙個結構體型別,range是乙個結構體變數,兩個成員,返回值為長整型
if (range.length == 0) else
//6.字串擷取(獲取字串)
nsstring *str5 = [nsstring stringwithformat:@"lanouishhg"];
//(1)獲取給定下標之後的字串,包含指定下標對應的字元(獲取的過程是拷貝的過程,要另外開闢一塊堆區空間,操作的是拷貝的副本,拷貝的和原字串雖然一樣,但是位址不一樣),會產生另外乙個物件;
//獲取hg
nsstring *substring1 = [str5 substringfromindex:8];//substring1是乙個物件
nslog(@"%@", substring1);
//(2)獲取給定下標之前的子串,從下標為0開始,但是不包括指定下標對應的字元
//獲取lan
nsstring *substring2 = [str5 substringtoindex:3];
nslog(@"%@", substring2);
//獲取指定範圍內的子串。
//獲取is nsmakerange(5, 2)
nsstring *substring3 = [str5 substringwithrange:nsmakerange(5, 2)];
nslog(@"%@", substring3);
//7.字串拼接
nsstring * str1 = [nsstring stringwithformat:@"lanou"];
nslog(@"%@",newstr1);
nslog(@"%@", newstr2);
//8.替換字串
nsstring *str2 = [nsstring stringwithformat:@"lanouidjkgjfjououououou"];
//(1)將ou替換成niubi stringbyreplacingoccurrencesofstring:後面的替換前面的
nsstring *str21 = [str2 stringbyreplacingoccurrencesofstring:@"ou" withstring:@"niubi"];
nslog(@"%@", str21);
//只將第乙個ou替換成niubi nsmakerange(3, 2)這個方法可以給定乙個範圍
nsstring *str22 = [str2 stringbyreplacingcharactersinrange:nsmakerange(3, 2) withstring:@"niubi"];
nslog(@"%@", str22);
//9,字串比較(公升序或降序)(重點)
nscomparisonresult result = [@"1111" compare:@"2222"];
nslog(@"%ld", result);
//10.字串和數值型別比較
//(1)@"123"將字串轉化為整數123
//從第乙個字元為空格,如果在遇到空格之外的字元時,將前面的空格忽略掉,繼續往下找,讀取數字,直到遇到非數字時結束
int value = [@" 123a" intvalue];
nslog(@"%d", value);
//(2)將數字轉為字串物件
nsstring *str = [nsstring stringwithformat:@"%d",2];
nslog(@"%@",str);
//11. 大小寫轉換
//(1)將@"lan ou"全部轉為大寫
nsstring *upperstring = [@"lanou ou" uppercasestring];
nslog(@"%@", upperstring);
//(2)將@"lan ou"全部轉為小寫
nsstring *lowerstring = [@"lanou ou" lowercasestring];
nslog(@"%@", lowerstring);
//(3)將@"lan ou"每個單詞的首字母大寫
nsstring *capital = [@"lanou ou" capitalizedstring];
nslog(@"%@", capital);
nsmutablestring *str = [nsmutablestring stringwithformat:@"lanouhenan"];
//對於可變字串的增刪改方法,都是在原字串基礎上進行修改,所以之後原字串的內容發生變化,所以無需返回值
//1,在原字串str基礎上拼接frank
nslog(@"%@", str);
//2.在字串str基礎上拼接frank
nslog(@"%@", str);
//3.刪除字串,在原字串基礎上刪除henan
[str deletecharactersinrange:nsmakerange(5, 5)];
nslog(@"%@", str);
//4,插入字串,在原字串基礎上插入lanou
[str insertstring:@"lanou" atindex:0];
nslog(@"%@", str);
//5.替換字串,在原字串基礎上將第乙個frank替換成duck
[str replacecharactersinrange:nsmakerange(10, 5) withstring:@"duck"];
nslog(@"%@", str);
OC中字串用法總結
注 nsstring不可變字串 1.通過字面量方式建立乙個字串 nsstring str 字串 2.輸出字串長度length nslog ld str.length 3.通過指定下標獲取字元內容 列印漢字時c要大寫 nslog c str characteratindex 下標數 4.系統提供的便利...
OC字串常用擷取方法
substringfromindex 字串擷取方法,從某索引開始擷取到最後 substringtoindex 從索引0開始擷取到某索引 substringwithrange 從某索引開始,擷取一定長度的字元 substringbyreplacingoccurrencesofstring 字串替換 i...
字串方法總結
doctype html en utf 8 viewport content width device width,initial scale 1.0 x ua compatible content ie edge document title head 屬性 str.length 獲取字串長度 方...