NSString *string = [myString stringByReplacingOccurrencesOfString:@"<wow>" withString:someString];
我有这个代码。现在假设我的应用程序的用户输入了两个不同的字符串,我想用两个不同的其他字符串替换,我该如何实现呢?我不在乎它是否使用私有 API,我正在为越狱平台开发。我的用户将输入 or 或 。我想用它们各自的待替换字符串替换这些字符串的任何出现:)
提前感谢:P
NSString *string = [myString stringByReplacingOccurrencesOfString:@"<wow>" withString:someString];
我有这个代码。现在假设我的应用程序的用户输入了两个不同的字符串,我想用两个不同的其他字符串替换,我该如何实现呢?我不在乎它是否使用私有 API,我正在为越狱平台开发。我的用户将输入 or 或 。我想用它们各自的待替换字符串替换这些字符串的任何出现:)
提前感谢:P
最简单的解决方案是运行stringByReplacingOccurrencesOfString
两次:
NSString *string = [[myString
stringByReplacingOccurrencesOfString:@"<wow>" withString:someString1]
stringByReplacingOccurrencesOfString:@"<boo>" withString:someString2];
dasblinkenlight 和 Matthias 的答案都可以,但它们都会导致创建几个中间 NSString;如果您不经常执行此操作,那并不是真正的问题,但是更好的方法看起来像这样。
NSMutableString *myStringMut = [[myString mutableCopy] autorelease];
[myStringMut replaceOccurrencesOfString:@"a" withString:somethingElse];
[myStringMut replaceOccurrencesOfString:@"b" withString:somethingElseElse];
// etc.
然后你可以myStringMut
像以前那样使用myString
,因为 NSMutableString 是一个 NSString 子类。
我会再次运行字符串替换方法
NSString *string = [myString stringByReplacingOccurrencesOfString:@"foo" withString:@"String 1"];
string = [string stringByReplacingOccurrencesOfString:@"bar" withString:@"String 2"];
这在 Swift 3.1 中对我很有效
let str = "hi hello hey"
var replacedStr = (str as NSString).replacingOccurrences(of: "hi", with: "Hi")
replacedStr = (replacedStr as NSString).replacingOccurrences(of: "hello", with: "Hello")
replacedStr = (replacedStr as NSString).replacingOccurrences(of: "hey", with: "Hey")
print(replacedStr) // Hi Hello Hey