Я пытался избавиться от пробелов в NSString
, но ни один из методов, которые я пробовал, не работал.
У меня есть "this is a test"
и я хочу получить "thisisatest"
.
Я использовал whitespaceCharacterSet
, который должен устранить пробелы.
NSString *search = [searchbar.text stringByTrimmingCharactersInSet:
[NSCharacterSet whitespaceCharacterSet]];
но я продолжал получать ту же строку с пробелами. Любые идеи?
objective-c
string
cocoa
nsstring
marsalal1014
источник
источник
Ответы:
stringByTrimmingCharactersInSet
удаляет только символы в начале и конце строки, а не в середине.1) Если вам нужно удалить только заданный символ (скажем, пробел) из вашей строки, используйте:
2) Если вам действительно нужно удалить набор символов (а именно не только символ пробела, но и любой символ пробела, например пробел, символ табуляции, неразрывный пробел и т. Д.), Вы можете разделить строку, используя
whitespaceCharacterSet
затем объединение слов снова в одну строку :Обратите внимание, что это последнее решение имеет преимущество обработки каждого символа пробела, а не только пробелов, но немного менее эффективно, чем
stringByReplacingOccurrencesOfString:withString:
. Поэтому, если вам действительно нужно удалить символ пробела и вы уверены, что у вас не будет другого символа пробела, кроме символа пробела, используйте первый метод.источник
Я предпочитаю использовать регулярные выражения, как это:
Вы можете создать себе категорию на NSString, чтобы сделать жизнь еще проще:
}
Вот метод модульного тестирования на нем тоже:
источник
Простое использование задачи
stringByReplacingOccurrencesOfString
источник
Это может помочь вам, если вы испытываете
\u00a0
вместо(пробел). У меня была эта проблема, когда я пытался извлечь номера контактных телефонов устройства. Мне нужно было изменить строку phoneNumber, чтобы в ней не было пробелов.
Когда
yourString
был текущий номер телефона.источник
yourString.replacingOccurrences(of: "\u{00a0}", with: "")
stringByReplacingOccurferencesOfString заменит все пробелы в строке, а не только начало и конец
использование
источник
stringByReplacingOccurrencesOfString
но привести примерstringByTrimmingCharactersInSet
?источник
Это для меня самый лучший способ SWIFT
и результат: ciaociao
Но фокус в этом!
источник
Используйте ниже marco и удалите пробел.
в другом файле вызов TRIM:
Пусть это поможет вам ...
источник
Это для удаления любого пробела, когда вы получаете текст из любого текстового поля, но если вы хотите удалить пробел между строками, вы можете использовать
Он заменит пустое пространство без пробела, и пустое поле будет обработано с помощью метода ниже:
источник
источник
Я настоятельно рекомендую разместить это где-нибудь в вашем проекте:
источник