Мне нужен способ удалить первый символ из строки, которая является пространством. Я ищу метод или даже расширение для типа String, которое я могу использовать для вырезания символа строки.Как удалить все пробелы из строки? - swift
ответ
Чтобы удалить начальные и конечные пробельные:
let trimmedString = string.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceCharacterSet())
Swift 3/Swift 4:
let trimmedString = string.trimmingCharacters(in: .whitespaces)
это будет работать только для ведущих и конечных пробелов. это не приведет к удалению пробелов, содержащихся в строке. – sun
Если вы хотите удалить все пробелы, вы можете попробовать myString.stringByReplacingOccurrencesOfString ("", withString: "") – Lucas
Вы также можете использовать 'NSCharacterSet.whitespaceAndNewlineCharacterSet()', если хотите обрезать символы новой строки. – Blip
Я хотел бы использовать это расширение, чтобы быть гибким и имитируют, как другие коллекции это сделать:
extension String {
func filter(pred: Character -> Bool) -> String {
var res = String()
for c in self.characters {
if pred(c) {
res.append(c)
}
}
return res
}
}
"this is a String".filter { $0 != Character(" ") } // "thisisaString"
Работает только для "" (не учитывает другие виды whitesapce) – fpg1503
Если вы хотите удалить пробелы спереди (и сзади), но не посередине, вы должны использовать stringByTrimmingCharactersInSet
let dirtyString = " First Word "
let cleanString = dirtyString.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceCharacterSet())
Если вы хотите удалить пробелы из любой точки в строке, то вы можете захотеть взглянуть на stringByReplacing ...
Это расширение строки удаляет все пробелы из строки, а не только конечные пробелы. ..
extension String {
func replace(string:String, replacement:String) -> String {
return self.stringByReplacingOccurrencesOfString(string, withString: replacement, options: NSStringCompareOptions.LiteralSearch, range: nil)
}
func removeWhitespace() -> String {
return self.replace(" ", replacement: "")
}
}
Пример:
let string = "The quick brown dog jumps over the foxy lady."
let result = string.removeWhitespace() // Thequickbrowndogjumpsoverthefoxylady.
Для Swift 3.0+ см. Другие ответы. Теперь это наследие ответ для Swift 2.x
Как ответил выше, так как вы заинтересованы в удалении первого символа в .stringByTrimmingCharactersInSet() метод экземпляра будет работать красиво:
myString.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceCharacterSet())
Вы может также сделать свой собственный характер, устанавливает обрезать границы ваших строк на, например:
myString.stringByTrimmingCharactersInSet(NSCharacterSet(charactersInString: "<>"))
Существует также встроенный метод экземпляра, чтобы иметь дело с удалением или заменой подстроки s stringByReplacingOccurrencesOfString (target: String, replacement: String). Он может удалять пробелы или любые другие модели, которые происходят в любом месте строки
Вы можете задать параметры и диапазоны, но не нужно:
myString.stringByReplacingOccurrencesOfString(" ", withString: "")
Это простой способ, чтобы удалить или заменить любое повторение шаблон символов в вашей строке и может быть прикован цепью, хотя каждый раз через него приходится проходить еще один проход через всю вашу строку, снижая эффективность. Таким образом, вы можете сделать это:
myString.stringByReplacingOccurrencesOfString(" ", withString: "").stringByReplacingOccurrencesOfString(",", withString: "")
... но это займет в два раза больше.
.stringByReplacingOccurrencesOfString() documentation from Apple site
Цепной эти методы экземпляр строки иногда может быть очень удобно для преобразования один выходных, например, если вы хотите, чтобы преобразовать короткое NSData блоба в шестнадцатеричной строку без пробелов в одной строке, вы можете сделать это с Swift встроенный в Струнный интерполяции и некоторые подрезки и замены:
("\(myNSDataBlob)").stringByTrimmingCharactersInSet(NSCharacterSet(charactersInString: "<>")).stringByReplacingOccurrencesOfString(" ", withString: "")
Вы также можете использовать регулярное выражение.
let trimmedString = myString.stringByReplacingOccurrencesOfString("\\s", withString: "", options: NSStringCompareOptions.RegularExpressionSearch, range: nil)
Вы можете попробовать это, а
let updatedString = searchedText?.stringByReplacingOccurrencesOfString(" ", withString: "-")
Работает только для "" (не учитывает другие типы whitesapce) – fpg1503
Swift 3 вариант ответа BadmintonCat в
extension String {
func replace(_ string:String, replacement:String) -> String {
return self.replacingOccurrences(of: string, with: replacement, options: NSString.CompareOptions.literal, range: nil)
}
func removeWhitespace() -> String {
return self.replace(" ", replacement: "")
}
}
правильный путь, если вы хотите, чтобы удалить все виды непечатаемых (основанный на this SO answer) является:
extension String {
var stringByRemovingWhitespaces: String {
let components = componentsSeparatedByCharactersInSet(.whitespaceCharacterSet())
return components.joinWithSeparator("")
}
}
Swift 3.0+ (3,0, 3,1, 3,2, 4,0)
extension String {
func removingWhitespaces() -> String {
return components(separatedBy: .whitespaces).joined()
}
}
Для быстры 3.0
import Foundation
var str = " Hear me calling"
extension String {
var stringByRemovingWhitespaces: String {
let components = self.components(separatedBy: .whitespaces)
return components.joined(separator: "")
}
}
str.stringByRemovingWhitespaces //Hearmecalling
Свифта 3
Вы можете просто использовать этот метод удалить все нормальные пробелы в строке (не co nsider все виды пробелов):
let myString = " Hello World ! "
let formattedString = myString.replacingOccurrences(of: " ", with: "")
Результат будет:
HelloWorld!
Swift 3 версия
//This function trim only white space:
func trim() -> String
{
return self.trimmingCharacters(in: CharacterSet.whitespaces)
}
//This function trim whitespeaces and new line that you enter:
func trimWhiteSpaceAndNewLine() -> String
{
return self.trimmingCharacters(in: CharacterSet.whitespacesAndNewlines)
}
Чтобы удалить все пробелы из строки:
let space_removed_string = (yourstring?.components(separatedBy: " ").joined(separator: ""))!
Попробуйте выполнить функциональное программирование, чтобы удалить пробелы:
extension String {
func whiteSpacesRemoved() -> String {
return self.filter { $0 != Character(" ") }
}
}
- 1. Как удалить все пробелы из строки?
- 2. Как удалить все пробелы из строки?
- 3. Как удалить все лишние пробелы из строки?
- 4. Swift - Удалить пробелы из строки не работает
- 5. Swift удалить ТОЛЬКО конечные пробелы из строки
- 6. jstl Удалить все пробелы из строки
- 7. Удалить все пробелы из строки в Rails
- 8. Как удалить пробелы из строки?
- 9. Как удалить пробелы из строки?
- 10. Удалить пробелы из строки
- 11. Зачистить все пробелы из строки
- 12. Как удалить все пробелы?
- 13. Как удалить пробелы (новые строки) из строки?
- 14. Как удалить все символы и пробелы из строки?
- 15. Удалить все qoutes из строки iOS Swift
- 16. Как удалить пробелы из строки в Lua?
- 17. Удалить переменные пробелы из строки
- 18. удалить пробелы из начала строки
- 19. Удалить случайные пробелы из строки
- 20. обрезать все пробелы из строки
- 21. Как удалить пробелы из строки в PostgreSQL?
- 22. Как удалить избыточные пробелы/пробелы из строки в Голанге?
- 23. Как удалить пробелы из строки в хэш
- 24. Как удалить пробелы из строки в Arduino?
- 25. Как удалить пробелы из строки в Рубине
- 26. Как удалить повторяющиеся пробелы из строки
- 27. Как удалить пробелы из строки списка
- 28. Как удалить пробелы из строки в C++
- 29. Как удалить пробелы из строки в Python?
- 30. Удалить все пробелы из строки C# с регулярным выражением
Вы хотите удалить первый пробел или символы пробела в строке? – Alex
Возможный дубликат: [Удалить символ пробела из строки, исключая пробел] (http://stackoverflow.com/q/26963379/1966109). –