【发布时间】:2014-05-12 18:52:48
【问题描述】:
给定一个 NSRange,例如:
NSRange range = NSMakeRange(1, 22);
将其转换为以逗号分隔的值字符串的最佳方法是什么?
@"1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22"
我能想到的最好办法是遍历该范围并将其值插入 NSArray,然后在该数组上调用 -componentsJoinedByString:。但这似乎很浪费,更不用说不雅了。有没有更好的办法?
【问题讨论】:
-
我不知道。这不是蟒蛇。 ;)
-
@dasdom 所以你知道我来自哪里,嗯?我习惯了它很容易:
perl -E 'say join ",", 1..22' -
NSMutableString *string = [[NSMutableString alloc] init];for (int i = range.location; i < range.length; i ++){[string appendFormat:"%d,",i]};[string deleteCharactersInRange:NSMakeRange(string.length-1,1)];?这就是你要找的东西? -
@Larme 是的,就像 J2thC 的回答一样。不过太丑了。
-
类似/相关:Looping using NSRange(请注意那里也提到了 Python!)
标签: objective-c loops csv nsstring nsrange