Swift-удалить " символ из строки



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



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


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

1108   8  

8 ответов:

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

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

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

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

Swift 3 и Swift 4:

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

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

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

Если вам нужно больше деталей, вы можете взглянуть на официальные документы здесь

вот swift 3 Обновленный ответ

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

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

println("\(text2!)")

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

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

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

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

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

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

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

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

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

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

var text2: String = ""

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

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)
  • обратная косая черта (\)
  • горизонтальная вкладка (\t)
  • подача строки (\n)
  • возврат каретки (\r)
  • Двойные Кавычки (\")
  • Одиночная Кавычка (\')

пример:

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

выход: "dog's toys + carrots"

Comments

    Ничего не найдено.