【发布时间】:2018-03-29 11:55:54
【问题描述】:
我想在 NSString 中的一组字符前面添加一个特定字符。
例如:
NSString *input = @"abc^ 123 # //> <";
NSString *insertBefore = @"~";
NSCharacterSet *needBeInserted = [NSCharacterSet
characterSetWithCharactersInString:@"~#^/<>"];
预期结果:needBeInserted 中出现在input 中的任何字符都将添加insertBefore。
result = @"abc~^ 123 ~# ~/~/~> ~<";
有没有优雅的方法来做到这一点?而不是使用多行stringByReplacingOccurrencesOfString?
【问题讨论】:
-
很遗憾,一些字符如:
<、>不包括在内。 -
但它们在正则表达式中并不特殊,它们不必被转义。请在问题中定义您的确切要求(您需要转义哪些字符?)。
-
这就是为什么我创建一个
NSCharacterSet来存储在我的情况下需要转义的字符。快速解决方案是通过NSCharacterSet并为集合中的每个字符调用stringByReplacingOccurrencesOfString。只是想知道是否有更好的解决方案:) -
请在问题中添加确切的要求。
标签: objective-c nsstring nsregularexpression