0

NSStringaを aに分割しようとしNSArrayていますが、通常は簡単な作業ですが、難しいことがわかっています。Python サーバーからデータを受信NSStringし、iPhone クライアントで を形成しています。Python サーバーから複数のメッセージを受信するとNSLog、次のような文字列になることがあります。

Project: textOne
textTwo

文字列を a に追加し、その配列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
    )

誰かが助けてくれれば、とても感謝しています。

4

1 に答える 1

4

stringByTrimmingCharactersInSet:を使用してコンポーネントに分離する前に文字列をトリミングして、最後または最初のコンポーネントが空にならないようにします。

NSCharacterSet *separatorSet = [NSCharacterSet newlineCharacterSet];
NSString *trimmed = [str stringByTrimmingCharactersInSet:separatorSet];
[trimmed componentsSeparatedByCharactersInSet:separatorSet];

これは、配列の途中で空の文字列を防ぐことはできません。

別の解決策は、コンポーネントに分離した後、不要な文字列を除外することです。

于 2013-01-22T20:00:35.417 に答える