【问题标题】:Objective C: Replace double backslash with a single backslash目标 C:用单反斜杠替换双反斜杠
【发布时间】:2016-10-25 09:08:17
【问题描述】:

我正在尝试将包含双反斜杠的字符串替换为只有一个反斜杠的字符串,例如:

\\This\\Is\\Not\\Working

收件人:

\This\Is\Not\Working

使用:

str = [str stringByReplacingOccurrencesOfString:@"\\\\" withString@"\\"];

但由于某种原因,字符串每次都保持不变(带有双反斜杠)。我在这里做错了什么?

【问题讨论】:

  • 为什么这被否决了? :0
  • 你的字符串就像 NSString *Str = @"\\\\This\\\\Is\\\\Not\\\\Working"; ?
  • 可能是因为它不是真正的错误,而是对 single 斜杠字符的完全误解,它总是由 double 斜杠表示当您打印值时调试控制台,或者当您想在字符串中插入 single 斜杠时,您始终需要键入 double 斜杠以 escape 斜杠字符特殊作用域。

标签: ios objective-c nsstring


【解决方案1】:

很遗憾,我误解了控制台日志输出。字符串很好,调试器只是将单斜杠显示为双斜杠。 (我想是为了逃避目的)。

【讨论】:

    【解决方案2】:

    下面几行代码没问题:

    NSString *str=@"\\This\\Is\\Not\\Working";
    
    str = [str stringByReplacingOccurrencesOfString:@"\\\\" withString@"\\"];
    

    只需通过NSLog 或打印检查值,因为在调试控制台中,斜杠表示为双斜杠。

    查看图片以获得更清晰的理解:

    【讨论】:

      【解决方案3】:
      NSString *Str = @"\\This\\Is\\Not\\Working";
      NSLog(@"%@",Str);// print:-\This\Is\Not\Working
      Str = [Str stringByReplacingOccurrencesOfString:@"\\\\" withString:@"\\"];// in this no replace occurres
      NSLog(@"%@",Str); // print:-\This\Is\Not\Working
      
      NSString *Str1 = @"\\\\This\\\\Is\\\\Not\\\\Working";
      NSLog(@"%@",Str1);// print:-\\This\\Is\\Not\\Working
      Str1 = [Str1 stringByReplacingOccurrencesOfString:@"\\\\" withString:@"\\"];
      NSLog(@"%@",Str1);// print:-\This\Is\Not\Working
      

      【讨论】:

        【解决方案4】:

        试试这个:

        NSString *str = @"\\This\\Is\\Not\\Working";
        str = [str stringByReplacingOccurrencesOfString:@"\\" withString:@"\\\\"];
        NSLog(@"%@", [str stringByReplacingOccurrencesOfString:@"\\\\" withString:@"\\"]);
        
        • 第一行是您的用户输入。
        • 第二行将双反斜杠用户输入字符串转换为四个反斜杠字符串
        • 第三行简单地将四个反斜杠替换为两个反斜杠,从而打印单个反斜杠

        【讨论】:

          猜你喜欢
          • 2012-06-16
          • 1970-01-01
          • 1970-01-01
          • 2013-06-24
          • 1970-01-01
          • 1970-01-01
          • 2013-04-15
          • 1970-01-01
          • 2017-07-25
          相关资源
          最近更新 更多