字符串的方法

1.創(chuàng)建常量字符串

//通過這種方式創(chuàng)建的字符串只能是不可變的

NSString*str1 =@"不可變的OC字符串";

/*****通過對象方法(實例方法)創(chuàng)建********/

//2.通過str1去創(chuàng)建str2

NSString*str2 = [[NSStringalloc]initWithString:str1];

NSLog(@"str1 = %@,str2 = %@",str1,str2);

//3.把C字符串轉(zhuǎn)換成OC字符串

NSString*str3 = [[NSStringalloc]initWithUTF8String:"WHiOS1603"];

NSLog(@"str3 = %@",str3);

//4.**重點掌握**

//通過格式符去創(chuàng)建(拼接)字符串

NSString*str4 = [[NSStringalloc]initWithFormat:@"%d-%.2f-%c-%s",100,3.1415926,'S',"SY"];

NSLog(@"str4 = %@",str4);

/******通過類方法創(chuàng)建字符串對象******/

NSString*str5 = [NSStringstringWithString:str1];

NSString*str6 = [NSStringstringWithUTF8String:"Hello OC"];

NSString*str7 = [NSStringstringWithFormat:@"拼接字符串:%.2f--%c--%d",3.1415,'A',10];

NSLog(@"str5 = %@",str5);

NSLog(@"str6 = %@",str6);

NSLog(@"str7 = %@",str7);

/*****把OC字符串對象轉(zhuǎn)換成基礎(chǔ)數(shù)據(jù)類型*****/

NSString*str =@"3.1415926";

//1.轉(zhuǎn)換成int類型

int a = str.intValue;

//2.NSInteger 32->int 64->long

NSIntegerinteger = str.integerValue;

NSLog(@"a = %d",a);

NSLog(@"integer = %ld",integer);

//3.轉(zhuǎn)換成BOOL類型YES 1,NO 0

BOOLbl = str.boolValue;

NSLog(@"bl = %d",bl);

//4.把OC字符串轉(zhuǎn)換成C字符串

constchar*s = [strUTF8String];

NSLog(@"s = %s",s);

/**返回字符串的長度**/

//NSUInteger 32->無符號整型64->無符號長整型

NSUIntegerlen =[strlength];//OC字符串沒有尾零

NSLog(@"len = %ld",len);

//取出字符串中的單個字符,unichar就代表c中的char

unicharc = [strcharacterAtIndex:5];

NSLog(@"c = %c",c);


NSString*str1 =@"abcd2017ZXCV";

NSString*subStr1 =@"2017";

1.字符串的查找(查找子串在父串中的位置和范圍)NSRang

//NSRange是一個結(jié)構(gòu)體幔睬,包含了location和length兩部分

//location子串在父串中的起始位置length子串的長度

NSRangerange = [str1rangeOfString:subStr1];

NSLog(@"location:%ld length:%ld",range.location,range.length);

//通過length的值來判斷是否查找成功

if( range.length>0) {

NSLog(@"找到了");

}else{

NSLog(@"父串中沒有該字符串");

}

2.字符串的提取

//從某個位置開始一直截取到字符串結(jié)尾

NSString*subStr2 = [str1substringFromIndex:8];

NSLog(@"subStr2 = %@",subStr2);

//從開始位置截取嵌戈,截取到某個位置(注:但不包含截取到的這個位置)

NSString*subStr3 =[str1substringToIndex:4];

NSLog(@"subStr3 = %@",subStr3);

//NSRange rg = {4,6};

NSRangerg =NSMakeRange(4,6);

NSString*subStr4 =[str1substringWithRange:rg];

NSLog(@"subStr4 = %@",subStr4);


/*****字符串的比較*****/

NSString*str1 =@"SSY2017OBJC";

NSString*str2 =@"sSY2017OBJC";

//1.判斷兩個字符串是否相等

BOOLbl = [str1isEqualToString:str2];

if(bl ==YES) {

NSLog(@"相等进陡!");

}else{

NSLog(@"不相等");

}

//2.比較兩個字符串的大小

NSComparisonResultresult =[str1compare:str2];

/*

NSOrderedAscending遞增

NSOrderedSame相等

NSOrderedDescending遞減

*/

if(result ==NSOrderedAscending) {

NSLog(@"str1小于str2");

}elseif(result ==NSOrderedSame){

NSLog(@"str1等于str2");

}else{

NSLog(@"str1大于str2");

}

//3.不區(qū)分大小寫比較兩個字符串的大小

NSComparisonResultresult2 =[str1caseInsensitiveCompare:str2];

if(result2 ==NSOrderedAscending) {

NSLog(@"str1

}elseif(result2 ==NSOrderedSame){

NSLog(@"str1=str2");

}else{

NSLog(@"str1>str2");

}

/**字符串大小寫轉(zhuǎn)換**/

NSString*string =@"abcdxyz";

//轉(zhuǎn)換成大寫

NSString*uppStr = [stringuppercaseString];

NSLog(@"uppStr = %@",uppStr);

//大寫轉(zhuǎn)小寫

NSString*lowStr =[uppStrlowercaseString];

NSLog(@"lowStr = %@",lowStr);

//首字母大寫,其余全部小寫

NSString*capStr =[stringcapitalizedString];

NSLog(@"capStr = %@",capStr);

/**判斷字符串的前后綴**/

NSString*string1 =@"shisiheng2017.txt";

NSString*preStr =@"shi";

NSString*suffStr =@".txt";

//1.判斷前綴

BOOLrect1 = [string1hasPrefix:preStr];

if(rect1) {

NSLog(@"是前綴");

}else{

NSLog(@"不是前綴");

}

//2判斷后綴

BOOLrect2 = [string1hasSuffix:suffStr];

if(rect2) {

NSLog(@"是后綴");

}else{

NSLog(@"不是后綴");

}

/**字符串的各種拼接**/

//1.在原來的字符串的基礎(chǔ)上蕾殴,接著往后拼接,返回拼接之后的新字符串

NSString*string2 =@"Hello,Girl!";

NSString*newStr1 = [string2stringByAppendingString:@" I Love You!!!"];

NSLog(@"newStr1 = %@",newStr1);

//2.格式符拼接

NSString*newStr2 = [string2stringByAppendingFormat:@"%d-%@",999,@"~玫瑰~"];

NSLog(@"newStr2 = %@",newStr2);

//3.拼接路徑(默認加上/)

NSString*newStr3 = [string2stringByAppendingPathComponent:@"love.ppt"];

NSLog(@"newStr3 = %@",newStr3);


//1創(chuàng)建一個空的字符串@""

NSMutableString*mStr1 = [[NSMutableStringalloc]init];

NSMutableString*mStr2 = [NSMutableStringstring];

//2.創(chuàng)建一個預(yù)設(shè)大小的可變字符串

NSMutableString*mStr3 = [[NSMutableStringalloc]initWithCapacity:20];

NSMutableString*mStr4 = [NSMutableStringstringWithCapacity:10];

//3.通過不可變字符串創(chuàng)建出一個可變字符串(把不可變字符串轉(zhuǎn)換成可變字符串)

NSString*str =@"我是字符串";

NSMutableString*mStr5 = [[NSMutableStringalloc]initWithString:str];

NSMutableString*mStr6 = [NSMutableStringstringWithString:str];

NSLog(@"mStr1 = %@",mStr1);

NSLog(@"mStr2 = %@",mStr2);

NSLog(@"mStr3 = %@",mStr3);

NSLog(@"mStr4 = %@",mStr4);

NSLog(@"mStr5 = %@",mStr5);

NSLog(@"mStr6 = %@",mStr6);

//**增**//

//1.在指定的位置插入新的字符串

[mStr6insertString:@"我們"atIndex:2];

NSLog(@"mStr6 = %@",mStr6);

//2.在原來的字符串的基礎(chǔ)上追加一個字符串

[mStr6appendString:@"-可變字符串"];

NSLog(@"mStr6 = %@",mStr6);

//3.在原來的字符串的基礎(chǔ)上格式符追加

[mStr6appendFormat:@"%s","NSMutableString"];

NSLog(@"mStr6 = %@",mStr6);

//**刪除**//

//刪除指定范圍的字符串

NSRangerange = {6,3};

[mStr6deleteCharactersInRange:range];

NSLog(@"mStr6 = %@",mStr6);

//**修改**//

//1替換掉指定范圍的字符串

NSRangerange1 = {0,2};

[mStr6replaceCharactersInRange:range1withString:@"現(xiàn)在"];

NSLog(@"mStr6 = %@",mStr6);

//2.直接用一個新字符串全部替換掉原來的字符串

NSString*newStr =@"這都是什么鬼!";

[mStr6setString:newStr];

NSLog(@"mStr6 = %@",mStr6);

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市讯柔,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌护昧,老刑警劉巖魂迄,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異惋耙,居然都是意外死亡捣炬,警方通過查閱死者的電腦和手機熊昌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來湿酸,“玉大人婿屹,你說我怎么就攤上這事⊥评#” “怎么了昂利?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長铁坎。 經(jīng)常有香客問我蜂奸,道長,這世上最難降的妖魔是什么厢呵? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任窝撵,我火速辦了婚禮,結(jié)果婚禮上襟铭,老公的妹妹穿的比我還像新娘碌奉。我一直安慰自己,他們只是感情好寒砖,可當我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布赐劣。 她就那樣靜靜地躺著,像睡著了一般哩都。 火紅的嫁衣襯著肌膚如雪魁兼。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天漠嵌,我揣著相機與錄音咐汞,去河邊找鬼。 笑死儒鹿,一個胖子當著我的面吹牛化撕,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播约炎,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼植阴,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了圾浅?” 一聲冷哼從身側(cè)響起掠手,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎狸捕,沒想到半個月后喷鸽,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡府寒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年魁衙,在試婚紗的時候發(fā)現(xiàn)自己被綠了报腔。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡剖淀,死狀恐怖纯蛾,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情纵隔,我是刑警寧澤翻诉,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站捌刮,受9級特大地震影響碰煌,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜绅作,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一芦圾、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧俄认,春花似錦个少、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至岂贩,卻和暖如春茫经,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背萎津。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工卸伞, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人锉屈。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓瞪慧,卻偏偏與公主長得像,于是被迫代替她去往敵國和親部念。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內(nèi)容