NSString字符串

NSString:不可變字符串

NSMutableString:可變字符串

//c語(yǔ)言中的字符串

char *s = "Hello";

NSString *str = @"Hello";

//OC , C字符串類型轉(zhuǎn)換

//C -> OC

NSString *str1 = [NSString ?stringWithUTF8String:s];

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

//OC->C

NSLog(@"str2 = %s",[str UTF8String]);

//創(chuàng)建字符串

NSString *str3 = @"iOS";

NSString *str4 = [[NSString alloc]init];

str4 = @"iOS";

//* 格式化字符串 *

int a = 10;

int b = 20;

NSString *str5 = [NSString stringWithFormat:@"a = ?%d b = %d",a,b];

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

//字符串拼接

NSString ?*str6 = [str5 stringByAppendingString:str3];

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

//大小寫(xiě)轉(zhuǎn)換

//A

//轉(zhuǎn)化小寫(xiě)

NSString *str7 = @"aBcDEf";

NSString *str8 ?= [str7 lowercaseString];

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

//轉(zhuǎn)換大寫(xiě)9

NSString *str9 = ?[str7 uppercaseString]j;

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

//前綴與后綴的判斷

NSString *str10 = @www.imooc.com;

//判斷前綴

BOOL hasPreFix = [str10 hasPrefix:@"www."];

if(hasPreFix){

NSLog(@"有對(duì)應(yīng)前綴");

}

else{

NSLog(@"沒(méi)有對(duì)應(yīng)前綴");}

//判斷后綴

BOOL *hasSuffix = [str10 hasSuffix:@".com"];

if(hasSuffix){

NSLog(@"有對(duì)應(yīng)后綴");

}

else{

NSLog(@"沒(méi)有對(duì)應(yīng)后綴");

}

//判斷兩個(gè)字符串是否相同

NSString *str11 = @"hello";

NSString *str12 = @"hello";

if([str11 isEqualToString str12]){

NSLog(@"兩個(gè)字符串一致");

}else{

NSLog(@"兩個(gè)字符串不一致");

}

//比較字符串

NSComparisonResult

//分割

//按照指定字符分割字符串

NSString *str13 = @"a,b,c,d,e,f,g";

NSArray *strArray = [str13 ?componentsSeparatedByString:@","];

for(NSString *str in strArray){

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

}

//按照范圍截取字符串

NSRange range = NSMakeRange(1,5);

NSString *str14 = [str13 substringWithRange:range];

//NSString *str14 = [str13 substringWithRange:NSMakeRange(1,5)];

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

//從某一位開(kāi)始截取后面的字符串(包含這一位)

NSString *str15 = [str13 substringFormIndex:2];

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

//從開(kāi)頭截取到某一位

NSString *str16 = [str13 substringToIndex:7];

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

//將字符串拆分為每一個(gè)字符

for(int i = 0;i < [str13 length];i++){

NSLog(@"%c",[str13 characterAtIndex:i]);

}

//查找

NSString *str17 = @"ab cd ef gh ij ab";

//查找指定字符串的位置

NSRange range1 = [str17 ?rangeOfString:@"ab"];

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

//替換

NSString &str18 = @"Hello iOS ,Hello imooc";

//替換某一個(gè)范圍的內(nèi)容

NSString *str19 = [str18 stringByReplacingCharactersInRange:NAMakeRange(0,5) withString:@"你好"];

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

//用指定字符串題號(hào)源字符串中的字符串

/*

stringByReplacingOccurrencesOfString - 源字符串中要被替換的內(nèi)容

withString - 替換的字符串

*/

NSString *str20 = [str18 stringByReplacingOccurrencesOfString:@"Hello" withString:@"你好"];

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

//讀取文件

//文件來(lái)源:1.本地文件. 2.網(wǎng)絡(luò)文件

//路徑類

NSString *str21 = @"www.baidu.com";

//網(wǎng)絡(luò)路徑

NSURL *httpURL = [NSURL URLWithString:str21];

//本地路徑

NSURL *fileURL = [NSURL fileURLWithPath:str21];

//讀取網(wǎng)絡(luò)文件

NSString *httpStr = [NSString stringWithContentsOfURL:httpURL encoding:NSUTF8StringEncoding error:nil];

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

//讀取本地文件

NSString *fileStr = [NSString stringWithContentsOfFile:@"/Users/Visitor/Desktop/text.txt " encoding :NSUTR8StringEncoding error:nil];

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

//寫(xiě)入文件

NSString *str22 = @"Hello Visitor";

[str22 writeToFile:@"/Users/Visitor/Desktop/demo.txt" atomically: YES encoding:NSUTF8String error:nil];


//可變字符串是字符串的子類

NSMutableString *str = [[NSMutableString alloc]initWithCapacity:10];

[str setString:@"Hello"];

//1.追加字符串

[str appendString:@" world"];

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

int a = 10;

[str appendingFormat:@"-%d",a];

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

//2.替換字符串

NSRange range = [str rangeOfString:@"world"];

[str replaceCharactersInRange:range withString:@"iOS"];

//刪除字符串

NSRange range1 = [str rangeOfString:@"AiOS"];

[str deleteCharactersInRange:range1];

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














NSString 和 NSMutaleString的使用與注意

(一)6種創(chuàng)建字符串的形式

//最簡(jiǎn)單快速的創(chuàng)建方式

NSString *s1 = @"yangyong";

//NSString *s2 = [[NSString alloc] initWithString:@"rose"];

//使用格式

NSString *s3 = [[NSString alloc] initWithFormat:@"my age is %d",10];

//反過(guò)來(lái)OC字符串轉(zhuǎn)變成C字符串

const char *cs = [s4 UTF8String];

//從文件讀取信息到字符串

/NSUTF8StringENcoding 用到中文就可以用這種編碼

NSString *s5 = [[NSString alloc]initWithContentOfFile:@"/Users/apple/Desktop/yangyngtest.txy" encoding:NSUTF8StringEncoding error :nil];

//根據(jù)資源路徑讀取內(nèi)容到字符串

NSURL *url = [[NSURL alloc]initWithString@:@"filr:///Users/apple/Desktop/1.txt"];//這里有三個(gè)斜杠

NSURL *url ?= [NSURL fileURLWithPath:@"/Users/apple/Desktop/yangyongtest2.txt"];//這里已經(jīng)說(shuō)明,所以不需要再包含協(xié)議頭

//打印內(nèi)容

NSString *s6 = [[NSString alloc]initWithCotentsOfURL:url encoding:NSUTF8StringEncoding error:nil];

NSLog(@"s6 = \n%@",s6);

(二)使用注意

(1)字符串的導(dǎo)入導(dǎo)出

//把字符串寫(xiě)到文件,若這個(gè)文件不存在,則創(chuàng)建一個(gè)

[@"yangyong \n gaoding" writeToFile:@"/Users/apple/Desktop/yangyong.txt" atomically :YES encoding: NSUTF8StringEncoding error:nil];

//注意這里如果換行對(duì)的話可以使用\n的個(gè)數(shù)來(lái)測(cè)試代碼量

//把字符串導(dǎo)入到資源位置

NSString *str = @"4234534yangyong";

NSURL *url = [NSURL fileURLWithPath@:"/Users/apple/Desktop/yangyong2.txt"];

[str writeToURL:url atomically:YES encoding:NSUTF8StringEncoding error:nil];

//這里的atomically后面可以是YES 和NO,通常使用YES,這樣更安全,若中途寫(xiě)入失敗,則不再創(chuàng)建文件

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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