s6l*_*A3I 6 iphone objective-c nsstring ios
NSString *string = [myString stringByReplacingOccurrencesOfString:@"<wow>" withString:someString];
Run Code Online (Sandbox Code Playgroud)
我有这个代码.现在假设我的应用程序的用户输入了两个不同的字符串,我想用两个不同的其他字符串替换,我该如何实现呢?我不在乎它是否使用私有API,我正在为越狱平台开发.我的用户要么输入要么或者.我想用它们各自被替换的字符串替换那些字符串的出现:)
在此先感谢:P
最简单的解决方案是运行stringByReplacingOccurrencesOfString两次:
NSString *string = [[myString
stringByReplacingOccurrencesOfString:@"<wow>" withString:someString1]
stringByReplacingOccurrencesOfString:@"<boo>" withString:someString2];
Run Code Online (Sandbox Code Playgroud)
dasblinkenlight和Matthias的答案都有效,但它们都会产生一些中间的NSStrings; 如果你不经常做这个操作,这不是一个真正的问题,但更好的方法看起来像这样.
NSMutableString *myStringMut = [[myString mutableCopy] autorelease];
[myStringMut replaceOccurrencesOfString:@"a" withString:somethingElse];
[myStringMut replaceOccurrencesOfString:@"b" withString:somethingElseElse];
// etc.
Run Code Online (Sandbox Code Playgroud)
然后您可以myStringMut像使用一样使用myString,因为NSMutableString是NSString子类.