【问题标题】:Replace a character in a String iPhone替换字符串 iPhone 中的字符
【发布时间】:2012-05-22 21:03:39
【问题描述】:

我想替换字符串中特定位置的单个字符。

例子

字符串:123-456-7890

所需输出:123-406-7890(将第五位的 5 替换为 0)

【问题讨论】:

标签: iphone objective-c ios ipad nsstring


【解决方案1】:

【讨论】:

    【解决方案2】:

    使用stringByReplacingCharactersInRange:withString:,形成NSRange变量来表示第5个位置。

    NSString *phoneNumber = @"123-456-7890";
    NSString *newString = [phoneNumber stringByReplacingCharactersInRange:NSMakeRange(5, 1) withString:@"0"];
    NSLog(@"%@", newString);
    

    Output: 123-406-7890

    阅读有关NSString 的所有信息。

    【讨论】:

      【解决方案3】:

      替换字符串有很多方法:

      NSString *str = [yourString stringByReplacingOccuranceOfString:@"5" withString:@"0"];
      

      第二种方法首先获取字符串的范围,如:

      NSRange range = [yourSting rangeOfString:@"5"];
      NSString *first = [yourString substringToIndex:range.location];
      NSString *second = [yourString substringFromIndex:range.location+range.length];
      NSString *yourNewStr = [NSString stringWithFormat:@"%@0%@",first,second];
      

      还有很多其他的使用字符串操作,但第一个是最好的。

      【讨论】:

        【解决方案4】:

        如果您想实际替换第 5 个字符而不是任何 5,您需要先创建一个范围。

        NSRange range = NSMakeRange(5, 1);
        NSString *newString = [initialString stringByReplacingCharactersInRange:range withString:@"0"];
        

        编辑:更正了制作范围长度

        【讨论】:

        • 您的范围 (NSMakeRange(5, 5)) 目前无法回答此问题。
        【解决方案5】:

        你可以使用:-

        NSString *replacechar = @"0";
        NSString *newString= [String stringByReplacingCharactersInRange:NSMakeRange(5,1) withString:replacechar]; 
        

        【讨论】:

          【解决方案6】:

          获取子字符串第一次出现的范围(即索引)。 然后用您想要的替换值替换该范围。

          NSString *originalString = @"123 456 789";
          NSRange r = [originalString rangeOfString:@"5"];
          NSString *newString = [originalString stringByReplacingCharactersInRange:r withString:@"0"];
          

          【讨论】:

            猜你喜欢
            • 2011-07-28
            • 2011-12-17
            • 2020-03-08
            • 2011-07-02
            • 2011-04-22
            相关资源
            最近更新 更多