2013-01-22 29 views
0

我試圖將NSString拆分爲NSArray,即使這通常是一件容易的事情,但它證明很困難。我正在從我的Python服務器接收數據,並在iPhone客戶端上形成NSString。有時我注意到,當我收到我的Python服務器的多個消息我會NSLog喜歡的字符串:將NSString拆分爲組件' n'上的NSArray

Project: textOne 
textTwo 

添加字符串轉換成NSArray,並呼籲該陣列上NSLog後的字符串將顯示:

Project: (
    "textOne\ntextTwo\n" 
) 

[str componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]]; 

[str componentsSeparatedByString:@"\n"]; 

[str substringToIndex:[str length]-1]; 

我設法生產NSArray的與內容:

的代碼打後

Project: (
    "textOne", 
    textTwo 
) 

而且

Project: (
    "textOne", 
    textTwo, 
    "" 
) 

不能產生NSArray與內容:

Project: (
     textOne, 
     textTwo 
    ) 

如果有人可以幫助,我會非常感激。

+0

沒有引號的'textTwo'是什麼意思?這不是一個字符串? –

+0

它不算作字符串,我不確定它爲什麼會被生成 –

+0

@JohnBale:它是什麼*,如果不是字符串? – Chuck

回答

4

使用stringByTrimmingCharactersInSet:在分離成組件之前修剪您的字符串,以防止在最後或開始處出現空組件。

​​

這不會阻止數組中間的空字符串。

另一種解決方案是在分離成組件後過濾掉任何不需要的字符串。

+0

+1考慮將whitespaceAndNewlineCharacterSet用於修剪,然後僅用於拆分新行。 – danh