如何从NSString中删除第一个空格?

时间:2017-08-02 04:56:48

标签: objective-c xcode nsstring whitespace

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

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

  

注意:IF_Distance之后有一个空格,之后有另一个空格   GET_Mi。在IF_Distance之后我无法移除空格。

5 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

使用以下代码删除空格。

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

NSString *secondString = [str stringByReplacingOccurrencesOfString:@"IF_Distance " withString:@"IF_Distance"];

答案 2 :(得分:0)

试试这个:

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)”;

答案 3 :(得分:-1)

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

首先使用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:@""];
}

答案 4 :(得分:-1)

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

- (NSString *)removeWhitespaces:(NSString *)string {

    NSMutableArray * stringComponents = [[string componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] mutableCopy];
    NSString * fStringComponent = [stringComponents firstObject];
    [stringComponents removeObject:fStringComponent];

    return [fStringComponent stringByAppendingString:[stringComponents componentsJoinedByString:@" "]];
}