我正在尝试将 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 "]]];
Best Answer-推荐答案 strong>
考虑这个例子:
[@"\n,\n"componentsSeparatedByCharactersInSet:
[NSCharacterSet characterSetWithCharactersInString",\n\r "]];
结果显示了 componentsSeparatedByCharactersInSet: 的行为方式。四个组件,都是空字符串。你明白为什么吗?
我不太确定你期望它做什么,但这就是它的作用。它只会在您列出的任何字符处 split 。如果其中两个彼此相邻,则会得到一个空字符串。在第一个之前加上一个字符串,在最后一个之后加上一个字符串。
所以你得到 25500 个组件的原因是,根据你给出的命令,这就是 有多少个组件。
关于ios - NSString characterSetWithCharactersInString 返回空字符串,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/16350369/
|