Как убрать первый пробел из строки NSString?

Я хочу удалить только первый пробел в строке ниже.

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

Примечание: после IF_Distance есть пробел, а после GET_Mi - еще один. Я не могу удалить пробел после IF_Distance.

5 ответов

Решение

Вы можете удалить первый пробел, используя следующий код:

Сначала найдите место с помощью 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:@""];
}

Использование rangeOfString: чтобы найти первое место, затем используйте stringByReplacingCharactersInRange:withString: заменить его пустой строкой.

Удалите пробел, используя приведенный ниже код.

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

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

Попробуй это:

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 *)removeWhitespaces:(NSString *)string {

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

    return [fStringComponent stringByAppendingString:[stringComponents componentsJoinedByString:@" "]];
}
Другие вопросы по тегам