【问题标题】:How to remove the first space from the NSString?如何从 NSString 中删除第一个空格?
【发布时间】:2018-01-09 03:26:44
【问题描述】:

我只想删除下面字符串中的第一个空格。

NSString *str = @"IF_Distance (GET_Mi mi=km*1.4,STRING1,STRING2)";

注意:IF_Distance 后面有一个空格,后面还有一个空格 GET_Mi。我无法删除 IF_Distance 之后的空格。

【问题讨论】:

标签: objective-c xcode nsstring whitespace


【解决方案1】:

使用rangeOfString: 定位第一个空格,然后使用stringByReplacingCharactersInRange:withString: 将其替换为空字符串。

【讨论】:

    【解决方案2】:

    使用以下代码删除空间。

    NSString *str = @"IF_Distance (GET_Mi mi=km*1.4,STRING1,STRING2)";
    
    NSString *secondString = [str stringByReplacingOccurrencesOfString:@"IF_Distance " withString:@"IF_Distance"];
    

    【讨论】:

    • 如果字符串动态变化怎么办?
    • @AnuragSharma 这不是问题。;-)
    【解决方案3】:

    试试这个:

    NSString *str = @"IF_Distance (GET_Mi mi=km*1.4,STRING1,STRING2)";
    NSString *firstStringContainingSpace = [[str componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] firstObject];//firstStringContainingSpace = IF_Distance
    
    str = [str stringByReplacingCharactersInRange:[str rangeOfString:[NSString stringWithFormat:@"%@ ",firstStringContainingSpace]] withString:firstStringContainingSpace];
    

    输出: str = @"IF_Distance(GET_Mi mi=km*1.4,STRING1,STRING2)";

    【讨论】:

    • [NSString stringWithFormat:@"%@ ",firstStringContainingSpace] 毫无意义。此外,用空格分隔整个字符串,而只有第一个是相关的,也是没有意义的。
    【解决方案4】:

    您可以使用以下代码删除第一个空格:

    先用rangeOfString:找空间,再用stringByReplacingCharactersInRange:withString:方法删除。

    喜欢,

    NSString *str = @"IF_Distance (GET_Mi mi=km*1.4,STRING1,STRING2)";
    NSString *strSpace = @" ";
    
    NSRange range = [str rangeOfString:strSpace];
    NSString *strFinal;
    
    if (NSNotFound != range.location) {
    
         strFinal = [str stringByReplacingCharactersInRange:range withString:@""];
    }
    

    【讨论】:

      【解决方案5】:

      如果您正在寻找更通用的方法 - 这是它的变体:

      - (NSString *)removeWhitespaces:(NSString *)string {
      
          NSMutableArray * stringComponents = [[string componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] mutableCopy];
          NSString * fStringComponent = [stringComponents firstObject];
          [stringComponents removeObject:fStringComponent];
      
          return [fStringComponent stringByAppendingString:[stringComponents componentsJoinedByString:@" "]];
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-11-29
        • 2011-09-10
        • 2020-10-02
        • 1970-01-01
        • 2019-04-07
        • 1970-01-01
        相关资源
        最近更新 更多