連線字串
123
nsarray
*strings = ... ;
string
=[strings componentsjoinedbystring:
@" :-) "
];// 結果:string1:-)string2:-)......
分割字串
12
nsstring
*string=@
"string1:string2:string3:string4:string5";
nsarray
*chunks =
[string componentsseparatedbystring:
@":"
];
轉成數值
1234
nsstring
*string
= ...;
int intvalue =
[string intvalue]; // int數值
float floatvalue =
[string floatvalue]; // float數值
double doublevalue =
[string doublevalue]; // double數值
從字串中去除換行 可以使用上面提到的分割字串,然後再將它們連線起來。但是採用下面的方式更好一些。
1234567
8
nsmutablestring
*mstring =
[nsmutablestring stringwithstring:
string
];nsrange wholeshebang = nsmakerange(
0, [mstring length]);
[mstring replaceoccurrencesofstring:@"
" withstring:@""
options:
0 range: wholeshebang];
這個方法也可以用來替換字串。這種方法比分割/連線字串的方法稍微快一點兒,但不是很明顯。處理長度1500000的字串,當中有36909個換行,分割/連線的方法要0.124秒,這個方法要0.071秒。
取得子字串
1
nsrange range =[[
string name] rangeofstring: otherstring options: nscaseinsensitivesearch];
取得當前日期的字串 通常將date轉化成nsstring的方法是使用nsdateformatter,但有時候可以使用特殊方法更簡單的進行轉化。比如想得到:「december 4, 2007」
1
[
[nsdate date] descriptionwithcalendarformat:
@"%b %e, %y" timezone:
nil locale:
nil]
trim乙個nsstring
12345
nsstring
*ook =
@"\n
\t\t hello there \t
\n\n
\n";
nsstring
*trimmed =
[ook stringbytrimmingcharactersinset:
[nscharacterset whitespaceandnewlinecharacterset]
];// 結果是hello there
按行處理乙個字串 如果乙個本文文體,每一行是一條資料,想迴圈處理每一條資料要怎麼做簡單呢。看下面的例子:
1234567
nsmutablearray
*altitudes =
[nsmutablearray array];
nsstring
*altitudestring =
[self altitudestringfromgoogle: coords];
[altitudestring enumeratelinesusingblock:^(
nsstring
*line, bool
*stop)
];
將字串放在剪貼簿上的方法
1234567
891011
1213
@implementation
nsstring
(pasteboardgoodies)-(
void
) sendtopasteboard
// sendtopasteboard
@end
// pasteboardgoodies
nsstring類中提供了這樣三個方法用於獲取子字串:
它們該怎麼使用呢?見下面**即可知道。
nsstring *str = @"12345";
// nsstring *substring0 = [str substringfromindex:-1]; //會放生越界錯誤
nsstring *substring1 = [str substringfromindex:0]; //@"12345"
nsstring *substring2 = [str substringfromindex:1]; //@"2345"
nsstring *substring3 = [str substringfromindex:4]; //@"5"
nsstring *substring4 = [str substringfromindex:5]; //@""
// nsstring *substring5 = [str substringfromindex:6]; //會放生越界錯誤
// nsstring *substring10 = [str substringtoindex:-1]; //會放生越界錯誤
nsstring *substring11 = [str substringtoindex:0]; //@"「
nsstring *substring12 = [str substringtoindex:1]; //@"1」
nsstring *substring13 = [str substringtoindex:4]; //@"1234「
nsstring *substring14 = [str substringtoindex:5]; //@"12345」
// nsstring *substring15 = [str substringtoindex:6]; //會放生越界錯誤
nsrange range1 = nsmakerange(-1, 5);
nsrange range2 = nsmakerange(0, 6);
nsrange range3 = nsmakerange(0, 5);
nsrange range4 = nsmakerange(1, 4);
nsrange range5 = nsmakerange(0, 0);
nsrange range6 = nsmakerange(4, 1);
//nsstring *substring31 = [str substringwithrange:range1]; //會放生越界錯誤
//nsstring *substring32 = [str substringwithrange:range2]; //會放生越界錯誤
nsstring *substring33 = [str substringwithrange:range3]; //@"12345「
nsstring *substring34 = [str substringwithrange:range4]; //@"2345」
nsstring *substring35 = [str substringwithrange:range5]; //@"」
nsstring *substring36 = [str substringwithrange:range6]; //@"5」
iphone 字串 nsstring用法
1.4.1 字串 可能最常使用的類就是nsstring。nsstring是不可變的,這意味著一旦建立了它,就不能修改它。如果需要修改乙個nsstring的內容,應該使用nsmutablestring類。然而,直接用新的內容建立乙個新的nsstring,這種做法更為常見。有很多種方法可以建立乙個nss...
字串處理 字串反轉
請原諒博主今天很閒,於是乎博主又開始更新微博了。這次要更新的問題是 編寫乙個函式,反轉乙個單詞的順序。例如 do or do not,there is no try.就要反轉成 try.no is there not,do or do 大家要認真看看這道題,這道題和大家想象的貌似有點不同。首先字串反...
字串處理
uncode與ansi字串轉換 我們使用windows函式multibytetowidechar將多位元組字串轉換成寬字元字串。函式如下 int multibytetowidechar uintcodepage dworddwflags lpcstrlpmultibytestr intcbmulti...