我正在尝试将NSString
分成逗号分隔的组件。不知何故,包含25000个组件的NSString
总是返回25.500个值,其中500个为空NSStrings
。这是我的代码的样子:
NSString* fileContents = [NSString stringWithContentsOfFile:filePath
encoding:NSUTF8StringEncoding
error:nil];
/* do stuff */
NSMutableArray* components =
[NSMutableArray arrayWithArray:
[fileContents componentsSeparatedByCharactersInSet:
[NSCharacterSet characterSetWithCharactersInString:@",\n\r "]]];
答案 0 :(得分:1)
考虑这个例子:
[@"\n,\n"componentsSeparatedByCharactersInSet:
[NSCharacterSet characterSetWithCharactersInString:@",\n\r "]];
结果显示了componentsSeparatedByCharactersInSet:
的行为方式。四个组件,都是空字符串。你知道为什么吗?
我不太确定你期望它做什么,但这就是它的作用。它只会拆分您列出的任何字符。如果其中两个彼此相邻,则会得到一个空字符串。加上第一个之前的字符串和最后一个之后的字符串。
因此,根据您提供的命令,您获得25500个组件的原因是 的组件数量。