ios:通过只进行一次替换来替换文件中的多个字符串的最佳方法是什么?

时间:2012-08-29 07:33:17

标签: objective-c ios nsstring replace

我有一个文件,其中存在不同地方的字符串,我想替换所有这些字符串。例如,我有“太taa tii”,我想用[tee]和[tii]替换[tuu]。据我所知,我需要做两次。

还有其他解决方案,我只能做一次吗?

2 个答案:

答案 0 :(得分:2)

我认为这些代码行是这样的: -

NSString *mainString = [[NSString alloc] initWithString:@"too taa tii"];
    NSArray *stringsToReplace = [[NSArray alloc] initWithObjects:@"too",@"tii", nil];
    NSArray *stringsReplaceBy = [[NSArray alloc] initWithObjects:@"tee",@"tuu", nil];
    for (int i =0; i< [stringsReplaceBy count]; i++)
    {
        mainString = [mainString stringByReplacingOccurrencesOfString:[stringsToReplace objectAtIndex:i] withString:[stringsReplaceBy objectAtIndex:i]];
    }

答案 1 :(得分:0)

我知道这是旧的并且已经回答了,但另一种选择是使用NSDictionary

NSDictionary *replaceDict = @{@"too":@"tee", @"tii": @"tuu"};
for (NSString *replace in replaceDict) {
    mainString = [mainString stringByReplacingOccurrencesOfString:replace withString:replaceDict[replace]];
}