Подтвердить что ты не робот

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

У меня строка: "Allentown, pa"

Как удалить пробел между , и pa с помощью объектного c?

4b9b3361

Ответ 1

Это приведет к удалению всего пробела из myString.

NSString *newString = [myString stringByReplacingOccurrencesOfString:@" " withString:@""];

Ответ 2

Вот правильный и документированный способ удаления пробелов из вашей строки.

whitespaceCharacterSet Apple Documentation для iOS говорит:

Returns a character set containing only the in-line whitespace characters space (U+0020) and tab (U+0009).

+ (id)whitespaceCharacterSet
Return Value
A character set containing only the in-line whitespace characters space (U+0020) and tab (U+0009).

Discussion
This set doesn’t contain the newline or carriage return characters.

Availability
Available in iOS 2.0 and later.

Вы можете использовать этот документированный способ:

[yourString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];

Надеюсь, это поможет вам.

Если вам нужна дополнительная помощь, пожалуйста, сообщите мне об этом.

Ответ 4

Если вы хотите использовать символ "белый" и "новый", используйте " whitespaceAndNewlineCharacterSet" вместо " whitespaceCharacterSet"

 NSCharacterSet *whitespace = [NSCharacterSet whitespaceCharacterSet];
 NSString *trimmedString = [temp.text stringByTrimmingCharactersInSet:whitespace];

 NSLog(@"Value of the text field is %@",trimmedString);   

Ответ 5

myStr = [myStr stringByReplacingOccurrencesOfString:@" " withString:@""];

Ответ 6

В моем случае NSString было добавлено Zero Width Space (я использовал некоторую библиотеку). поэтому решение сработало для меня.

NSMutableString *newString=[[newString stringByReplacingOccurrencesOfString:@"\u200B" withString:@""] mutableCopy];

@ "\ u200B" - это значение символа Zero width space.

Ответ 7

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

NSString *yourString = @"Allentown,   pa";
NSCharacterSet *whitespaces = [NSCharacterSet whitespaceCharacterSet];
NSPredicate *noEmptyStrings = [NSPredicate predicateWithFormat:@"SELF != ''"];

NSArray *parts = [yourString componentsSeparatedByCharactersInSet:whitespaces];
NSArray *filteredArray = [parts filteredArrayUsingPredicate:noEmptyStrings];
yourString = [filteredArray componentsJoinedByString:@" "];

Ответ 8

вы можете использовать функцию remove для удаления любой подстроки из строки

- (NSString*)remove:(NSString*)textToRemove fromString:(NSString*)input { 
    return [input stringByReplacingOccurrencesOfString:textToRemove withString:@""]; 
}

Ответ 9

Я пробовал все решения здесь, ни один из них не мог удалить пробелы, созданные китайским методом ввода PinYin.

После некоторой отладки я обнаружил, что это работает:

NSString *newString = [myString stringByReplacingOccurrencesOfString:@"\342\200\206" withString:@""];

У меня есть googled, что '\ 342\200\206', но не удалось.

Что бы это ни было, это работает для меня.

Ответ 10

NSString *sample = @" string with whitespaces";
NSString *escapeWhiteSpaces = [sample stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];

Ответ 11

- (NSString *)removeWhitespaces {
  return [[self componentsSeparatedByCharactersInSet:
                    [NSCharacterSet whitespaceCharacterSet]]
      componentsJoinedByString:@""];
}

Ответ 12

Привет, есть быстрая версия решения с расширением:

extension String{
    func deleteSpaces() -> String{
        return self.stringByReplacingOccurrencesOfString(" ", withString: "")
    }
}

И просто позвоните

(yourString as! String).deleteSpaces()

Ответ 13

Swift 3:

var word: String = "Hello world"
let removeWhiteSpace = word.stringByRemovingWhitespaces
word = "Helloworld"