Swift-удалить " символ из строки
У меня есть строка, которая является "факультативным("5")". Мне нужно удалить "" окружающий 5. Я удалил "необязательный", выполнив:
text2 = text2.stringByReplacingOccurrencesOfString("Optional(", withString: "", options: NSStringCompareOptions.LiteralSearch, range: nil)
У меня возникли трудности с удалением " персонажи, как они обозначают конец строки в коде.
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