这可以被视为this question about how to 'Delete a substring given an NSRange'.
的后续问题假设我有一个很长的字符串,我想从位置'a'删除一些字符,从位置'b'删除一些字符,从位置'c'删除一些字符,依此类推。
如果它是一个单一的位置和范围,我会使用类似的东西:
NSString *result = [baseString stringByReplacingCharactersInRange:range withString:@""];
在多个位置和范围的情况下,我总是可以使用for循环。但这样做会很不方便,因为在每次删除某些内容时,我都必须更改其他每个范围以及字符串大小。
在一次迭代中有更简单的方法吗?
答案 0 :(得分:1)
您可以从字符串末尾删除子字符串以开始。首先删除“b”之后的“c”,最后删除“a”。在这种情况下,您不需要重新计算剩余子串的范围。