【问题标题】:ios: What is the best way to replace multiple strings in file by doing only one time replacement?ios:通过仅进行一次替换来替换文件中多个字符串的最佳方法是什么?
【发布时间】:2012-08-29 07:33:16
【问题描述】:

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

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

【问题讨论】:

    标签: objective-c ios nsstring replace


    【解决方案1】:

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

    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]];
        }
    

    【讨论】:

      【解决方案2】:

      我知道这是旧的并且已回答,但另一种方法是使用 NSDictionary

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

      【讨论】:

        猜你喜欢
        • 2011-03-25
        • 1970-01-01
        • 1970-01-01
        • 2011-10-16
        • 2015-10-09
        • 2010-11-14
        • 2015-01-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多