0

我正在尝试将 a 拆分NSString为 a NSArray,尽管这通常是一项简单的任务,但事实证明这很困难。我正在从我的 Python 服务器接收数据并NSString在 iPhone 客户端上形成一个。我注意到有时当我从我的 Python 服务器收到多条消息时,我会得到NSLog一个字符串,例如:

Project: textOne
textTwo

将字符串添加到 aNSArray并调用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 回答