今天開始新的學習iOS的字符串處理。
Cocoa Touch應用程序基礎框架爲開發人員提供了字符串處理對象NSString和NSMutableString。
NSString是不可變的,一旦創建了就不能改變它,如果需要改變字符串的內容,可以使用NSMutableString,它是NSString的子類。
1.如果字符串只包含數字,可以把字符串轉換爲數字。
NSString *nystring=@"123456";
double doublestr=[nystring floatvalue];//調用實例方法返回浮點數
int intstr=[nystring intvalue];//調用實例方法返回整型數
這兩種方法都會試圖創建數字值直到遇到字符串中的第一個非數字的字符。對於一個“123abc”的intvalue會返回123。
int strlegth=[nystring length];//獲得字符串的長度
BOOL isEqual=[string2 isEqualToString:string2];//比較兩個字符串。
2.如果區分大小寫的話:
Nsstring *string1=@"ABCD";
Nsstring *string2=@""abcd;
BOOl isEqual;
if([string1 caseInsensitiveCompare:string2]==NSOrderdSame)//使用caseInsensitiveCompare方法來大小寫敏感比較字符串
isEqual=true;
else
isEqual=false;
如果想對字符串進行大小寫轉換的話:
NSString *str1=@"abcdef";
NSString *str2=@"ABCDEF";
NSString *uper=[str1 uppercaseString];//小寫轉大寫
NSString *lower=[str2 lowercaseString];//大寫轉小寫
3.如果想提取字符串的話:
NSString *str=@"one two three";
NSString *oneStr=[str substringToIndex:3];//substringToIndex方法返回字符串開始到指定的索引字字串
得到的結果是 one
如果想獲得two的話:
NSRange range=NSMakeRange(4,3);
NSString *twoStr=[str substringWithRange:range];//從第四個字符開始的截取三個字串。這裏和java類似
如果想獲得three的話:
NSString *threeStr=[str substringFromINdex:8];
4,創建數組:
NSArray *myarray=[str componentsSeparatedByString:@" "];//將字符串str以空格作爲分割符分成3個子部分放入數組中;
將會得到數組{@"one",@"two",@"three"}
如果想替換字符串中的字符的話:NSString *ast=[str stringByReplacingOccurrencesOfString:@"three" withString:@"four"];
如果想在一個字符串中查找一個子字符串的話:
NSRange foundRange=[str rangeOfString:@"two"];將會返回4,3表示在第四個位置長度有3
如果想判斷一個字符串是否可以包含一個子字符串的話:
BOOL isFound;
if([str rangeOfString:@"two"].location==NSNotFound)
ifFound=false;
else
isFound=true;
5.NSString包含多種處理文件的方法。開發人員可以從文件讀出內容,也可以向文件寫入內容,以及獲取文件、路徑和擴展名這樣的消息。
如果想把一個文件讀入到一個字符串中:
NSString *fileContents=[NSString stringWithContentsOfFile:"myfile.txt"];
如果要獲取一個文件的擴展名:
NSString *fileName=@"myfile.txt";
NSString *fileExtension=[fileName pathExtension];
NSString 還提供了方法可以讓開發者從一個URL地址中讀寫內容:
NSURL *url=[NSURL URLWithString:@http://www...];
NSString *contents=[NSString stringWithContentsOfURl:url];
6.把NSString 轉換成char:
NSString *mystring=@"mystring";
Char *char=[mystring UTFString];
7.把字符串畫出來:
NSString *mystring=@"mystring";
[mystring drawAtPint:CGPoint Object withFont:UIFont Object];
8.將一個字符串添加到另一個字符串的後面:
NSString *mystring=@"word";
NSMUtableString *mymutable=[[NSString alloc]initiwithString:@"hello"];
[mymutable appendString:myString];
下面給出例子:
// insert code here...
NSString *constStr=@"my string";
int strLength=[constStr length];//取得字符串長度
NSString *filename=@"myfile.txt";//聲明一個字符串變量並且初始化文件名
NSString *fileExtension=[filename pathExtension];//取得文件名的後綴
NSString *myString=@"one two three";
NSString *onestr=[myString substringToIndex:3];//截取字符串開頭到第三個字符的子字串
NSRange rang=NSMakeRange(4, 3);
NSString *twoStr=[myString substringWithRange:rang];//第四個字符開始的三個字符
NSString *threeStr=[myString substringFromIndex:8];//從第八個字符開始的最後幾個字符
NSRange foundRange=[myString rangeOfString:@"two"];//在mystring字符串裏找到two字符串並返回對應的字符範圍
BOOL fond=([myString rangeOfString:@"two"].location==NSNotFound);
NSLog(constStr);
NSLog(@"constStr's legth is %d",strLength);
NSLog(fileExtension);
NSLog(onestr);
NSLog(twoStr);
NSLog(threeStr);
NSLog(@"%i-%i",foundRange.location,foundRange.length);
NSLog(@"%d",fond);
NSString *n=@"123456";
double d=[n doubleValue];
int i=[n intValue];
NSLog(@"%f,%d",d,i);
輸出結果
2014-10-23 19:42:34.579 ziFu[348:303] my string
2014-10-23 19:42:34.589 ziFu[348:303] constStr's legth is 9
2014-10-23 19:42:34.594 ziFu[348:303] txt
2014-10-23 19:42:34.596 ziFu[348:303] one
2014-10-23 19:42:34.596 ziFu[348:303] two
2014-10-23 19:42:34.597 ziFu[348:303] three
2014-10-23 19:42:34.599 ziFu[348:303] 4-3
2014-10-23 19:42:34.600 ziFu[348:303] 0
2014-10-23 19:42:34.601 ziFu[348:303] 123456.000000,123456
Program ended with exit code: 0