IPHONE 字串 處理。

2021-05-26 20:35:59 字數 4367 閱讀 3454

連線字串

1

23

nsarray

*strings = ... ;

string

=[strings componentsjoinedbystring:

@" :-) "

];// 結果:string1:-)string2:-)......

分割字串

1

2

nsstring

*string=@

"string1:string2:string3:string4:string5";

nsarray

*chunks =

[string componentsseparatedbystring:

@":"

];

轉成數值

123

4

nsstring

*string

= ...;

int intvalue =

[string intvalue]; // int數值

float floatvalue =

[string floatvalue]; // float數值

double doublevalue =

[string doublevalue]; // double數值

從字串中去除換行 可以使用上面提到的分割字串,然後再將它們連線起來。但是採用下面的方式更好一些。

123

4567

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

123

45

nsstring

*ook =

@"\n

\t\t hello there \t

\n\n

\n";

nsstring

*trimmed =

[ook stringbytrimmingcharactersinset:

[nscharacterset whitespaceandnewlinecharacterset]

];// 結果是hello there

按行處理乙個字串 如果乙個本文文體,每一行是一條資料,想迴圈處理每一條資料要怎麼做簡單呢。看下面的例子:

123

4567

nsmutablearray

*altitudes =

[nsmutablearray array];

nsstring

*altitudestring =

[self altitudestringfromgoogle: coords];

[altitudestring enumeratelinesusingblock:^(

nsstring

*line, bool

*stop)

];

將字串放在剪貼簿上的方法

123

4567

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...