【发布时间】:2012-08-29 07:33:16
【问题描述】:
我有一个文件,其中存在不同位置的字符串,我想替换所有这些字符串。例如,我有“too taa tii”,我想将 [too] 替换为 [tee],将 [tii] 替换为 [tuu]。据我所知,我需要做两次。
还有其他解决方案我只能做一次吗??
【问题讨论】:
标签: objective-c ios nsstring replace
我有一个文件,其中存在不同位置的字符串,我想替换所有这些字符串。例如,我有“too taa tii”,我想将 [too] 替换为 [tee],将 [tii] 替换为 [tuu]。据我所知,我需要做两次。
还有其他解决方案我只能做一次吗??
【问题讨论】:
标签: objective-c ios nsstring replace
我认为这些代码行是这样做的:-
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]];
}
【讨论】:
我知道这是旧的并且已回答,但另一种方法是使用 NSDictionary
NSDictionary *replaceDict = @{@"too":@"tee", @"tii": @"tuu"};
for (NSString *replace in replaceDict) {
mainString = [mainString stringByReplacingOccurrencesOfString:replace withString:replaceDict[replace]];
}
【讨论】: