一天又一天,一日又一日,一年又會是一年。時間過得太快了,每天學習都在學習oc,可是就是覺得時間太少了,恨不得一天當48小時來過。每天都有學不完的,研究不了的事,人生總有這麼多的無奈,與無奈,無奈。
下面就是今天學習的字串的個類方法:
nsstring *str = @"這是我們第一次嘗試";
nslog(@"%lu", [str length]); //獲取字串長度
nslog(@"%lu", sizeof(unichar));
/* nsstring 字串類常用方法*/
//1.建立乙個字串物件
//(1)初始化方法init***
//nsstring *erdong = @"二東"; 存在在常量區
nsstring *erdong = [[nsstring alloc] initwithformat:@"二東%d%d%@", 2, 50, str]; // 存在堆
nsstring *erdong2 = [[nsstring alloc] initwithstring:erdong]; //字串物件
nslog(@"erdong :%p ", erdong);
nslog(@"erdong2 :%p ", erdong2);
nslog(@"%@", erdong);
//(2)便利構造器
nsstring *erdong13 = [nsstring stringwithformat:@"%@!!!", erdong];
nslog(@"%@", erdong13);
nsstring *shiyao = [nsstring stringwithformat:@"gafak"];
//2.判斷字串是否包含字首(字尾)
if ([shiyao hasprefix:@"ga"]) else
if ([shiyao hassuffix:@"ak"]) else
//3.返回乙個字串在另乙個字串裡的範圍沒有找到length返回0;
nsrange range = [erdong13 rangeofstring:@"250"];
//檢視range結構體變數的location成員變數
和 length成員變數
nslog(@"location :%lu length: %lu", range.location, range.length);
//判斷乙個字串中是否包含子串的方法
if (range.length != 0) else
//4.字串擷取
nsstring *caiyangzhengyu = [[nsstring alloc] initwithformat:@"蔡楊振宇"];
nslog(@"%@", [caiyangzhengyu substringfromindex:2]); //從下標2開始輸出後面的
nslog(@"%@",[caiyangzhengyu substringtoindex:2]); //從下標2開始輸出前面的
nsrange r = ; //從下標1開始,輸出長度為2的
nslog(@"%@", [caiyangzhengyu substringwithrange:r]); //取範圍內的字串
//5.拼接字串相當於建立乙個新得物件,放拼接成得字串
nsstring *caiyangzhengyuerdong3 = [[nsstring alloc] initwithformat:@"%@", erdong13];
nslog(@"%@", caiyangzhengyuerdong3); //拼接乙個物件
//nsstring 拼接的真面目!!產生乙個新的字串物件
nslog(@"蔡楊振宇 :%p", caiyangzhengyu);
nslog(@"蔡楊振宇二東 :%p", caiyangzhengyuerdong3);
//6.替換字串
nsrange r1 = ; //將蔡楊振宇的下標為2的長度為3 的字串子串給換掉。「不管傳進去幾個「,250就是沒有了!!
nsstring *a = [caiyangzhengyuerdong3 stringbyreplacingcharactersinrange:r1 withstring:@"07"];
nslog(@"%@", a);
//將所有的 7 換成 「七」
nsstring *string = @"12341255647679756789015678765456786524";
nslog(@"%@", [string stringbyreplacingoccurrencesofstring:@"7" withstring:@"七"]);
//7.比較字串
nsstring *stra = @"a";
nsstring *strb = @"b";
nsstring *strc = @"c";
nsstring *strbb = @"bb";
nsstring *strba = @"ba";
nsstring *stra2 = @"a";
nslog(@" a b :%ld", [stra compare:strb]);
nslog(@" c a :%ld", [strc compare:stra]);
nslog(@" a a2 :%ld", [stra compare:stra2]);
nslog(@" bb ba :%ld", [strbb compare:strba]);
nslog(@"%ld", [@"老王" compare:@"小王"]);
nslog(@"%ld", [@"王子龍" compare:@"孫嘉懿"]);
//8.字串和數值型別轉換
//(1)基本資料型別->字串物件
int age = 20; //@"20"
nsstring *strage = [nsstring stringwithformat:@"%d", age];
nslog(@"%@", strage);
//(2)字串物件->基本資料型別
nslog(@"%d", [strage intvalue] + 1);
//9.大小寫轉換操作
nsstring *casestring = @"in the compare:"
"methods, the range argument specifies the subrange"
"rather than the whole, of the receiver "
"to use in the comparison. "
nslog(@"%@", [casestring uppercasestring]); //全大寫
nslog(@"%@", [casestring lowercasestring]); //全小寫
nslog(@"%@", [casestring capitalizedstring]); //每個單詞得首字母大寫(以空格為介)
/* msmutablestring 可變字串常用方法 */
//1.建立字串物件
nsmutablestring *mstring = [nsmutablestring stringwithformat:@"今天很糟糕"];
//2.字串拼接
改變原來得mstring
nslog(@"%@", mstring);
//3.插入字串
[mstring insertstring:@"真的" atindex:2];
nslog(@"%@", mstring);
//4.刪除字串
nsrange r4 = ;
[mstring deletecharactersinrange:r4];
nslog(@"%@", mstring);
/*題(1)判斷字串@「abcd_efgk」中是否有efgk,如果有將efgk轉換為wxyz,並讓字串的大寫字母轉成小寫,輸出修改完成的字串。
(2)給定乙個檔名,判斷字串中是否以「png」結尾,如果是就替換成「jpg」,如果不是,就拼接」.jpg」。*/
//1.
nsstring *st = [[nsstring alloc] initwithformat:@"abcd_efgk"];
nsrange ra = [st rangeofstring:@"efgk"];
nsstring *st1 = [[nsstring alloc] init];
nsstring *st2 = [[nsstring alloc] init];
if (ra.length) ; //擷取每一字元
nsstring *s = [st1 substringwithrange:j];
if ([s compare:@"a"] < 0) }
} //2.
nsstring *music = [nsstring stringwithformat:@"1245.png"];
if ([music hassuffix:@"png"]) else
}
第五周作業 平衡字串
一 題目 乙個長度為 n 的字串 s,其中僅包含 q w e r 四種字元。如果四種字元在字串 現次數均為 n 4,則其為乙個平衡字串。現可以將 s 中連續的一段子串替換成相同長度的只包含那四個字元的任意字串,使其變為乙個平衡字串,問替換子串的最小長度?如果 s 已經平衡則輸出0。二 輸入 一行字元...
多校第五場(字串)
5783.divide the sequence 題意 給出一段序列,盡可能多得分割序列使得每段字首和非負。分析 既然字首和非負,那麼從後往前遍歷,若非負則 include include include include include include include include include...
oc 字串擷取
從0 位置開始擷取擷取3 個字元 nsstring string1 this is a string if string1.length 3 if string1 hasprefix th substringfromindex 以指定位置開始 包括指定位置的字元 幷包括之後的全部字元 nsstrin...