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

Swift - Удалить "из строки

У меня есть строка, которая является "Необязательной (" 5 ")". Мне нужно удалить "вокруг 5. Я удалил" Необязательный", выполнив:

text2 = text2.stringByReplacingOccurrencesOfString("Optional(", withString: "", options: NSStringCompareOptions.LiteralSearch, range: nil)

У меня возникают трудности с удалением символов, поскольку они обозначают конец строки в коде.

4b9b3361

Ответ 1

Swift использует обратную косую черту, чтобы избежать двойных кавычек. Вот список экранированных специальных символов в Swift:

  • \0 (нулевой символ)
  • \\ (обратная косая черта)
  • \t (горизонтальная вкладка)
  • \n (перевод строки)
  • \r (возврат каретки)
  • \" (двойная кавычка)
  • \' (одинарная кавычка)

Это должно работать:

text2 = text2.replacingOccurrences(of: "\\", with: "", options: NSString.CompareOptions.literal, range: nil)

Ответ 2

Свифт 3 и Свифт 4:

text2 = text2.textureName.replacingOccurrences(of: "\"", with: "", options: NSString.CompareOptions.literal, range:nil)

Последние документы, обновленные до Swift 3.0.1, имеют:

  • Нулевой символ (\0)
  • Обратная косая черта (\\)
  • Горизонтальная вкладка (\t)
  • Перевод строки (\n)
  • Возврат каретки (\r)
  • Двойная цитата (\")
  • Одиночная цитата (\')
  • Скаляр Unicode (\u{n}), где n от одной до восьми шестнадцатеричных цифр

Если вам нужна дополнительная информация, вы можете посмотреть официальные документы здесь

Ответ 3

Вот скорый 3 обновленный ответ

var editedText = myLabel.text?.replacingOccurrences(of: "\"", with: "")
Null Character (\0)
Backslash (\\)
Horizontal Tab (\t)
Line Feed (\n)
Carriage Return (\r)
Double Quote (\")
Single Quote (\')
Unicode scalar (\u{n})

Ответ 4

Чтобы удалить необязательный, вы должны сделать это

println("\(text2!)")

причина, если вы не используете "!" он принимает необязательное значение text2

И чтобы удалить "из 5, вам нужно преобразовать его в NSInteger или NSNumber easy peasy. Он имеет" ", вызывая его строку.

Ответ 5

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

var otherstring = "lat\" : 40.7127837,\n"
var new = otherstring.stringByTrimmingCharactersInSet(NSCharacterSet.init(charactersInString: "la t, \n \" ':"))
count(new) //result = 10
println(new) 
//yielding what I'm after just the numeric portion 40.7127837

Ответ 6

Как говорит Мартин R, ваша строка "Необязательный (" 5 ") выглядит так, будто вы сделали что-то неправильно.

dasblinkenlight отвечает вам, так что это нормально, но для будущих читателей я постараюсь добавить альтернативный код:

if let realString = yourOriginalString {
    text2 = realString
} else {
    text2 = ""
}

text2 в вашем примере выглядит как String, и, возможно, он уже установлен в "", но похоже, что у вас есть тип yourOriginalString типа Optional (String) где-то, что он не был лишен или правильно используется.

Надеюсь, это поможет некоторым читателям.

Ответ 7

Если вы хотите удалить из строки больше символов, например "a", "A", "b", "B", "c", "C", вы можете сделать это следующим образом:

someString = someString.replacingOccurrences(of: "[abc]", with: "", options: [.regularExpression, .caseInsensitive])

Ответ 8

Вы создали экземпляр text2 как необязательный (например, var text2: String?). Вот почему вы получаете Необязательный ( "5" ) в своей строке. забрать? и замените на:

var text2: String = ""

Ответ 9

Допустим, у вас есть строка:

var string = "potatoes + carrots"

И вы хотите заменить слово "картофель" в этой строке на "помидоры"

string = string.replacingOccurrences(of: "potatoes", with: "tomatoes", options: NSString.CompareOptions.literal, range: nil)

Если вы напечатаете вашу строку, теперь это будет: "tomatoes + carrots"

Если вы хотите полностью удалить слово "картофель" из укуса, вы можете использовать:

string = string.replacingOccurrences(of: "potatoes", with: "", options: NSString.CompareOptions.literal, range: nil)

Если вы хотите использовать некоторые другие символы в вашем укусе, используйте:

  • Нулевой символ (\ 0)
  • Обратная косая черта (\)
  • Горизонтальная вкладка (\ т)
  • Перевод строки (\n)
  • Возврат каретки (\ r)
  • Двойная цитата (\ ")
  • Одиночная цитата (\ ')

Пример:

string = string.replacingOccurrences(of: "potatoes", with: "dog\ toys", options: NSString.CompareOptions.literal, range: nil)

Вывод: "dog toys + carrots"

Ответ 10

Если вы получаете вывод Optional(5) при попытке вывести значение 5 в необязательном Int или String, вы должны сначала развернуть значение:

if let value = text {
    print(value)
}

Теперь у вас есть значение без строки "Необязательно", которую Swift добавляет, когда значение не было развернуто ранее.