Swift String: Как заменить двухсимвольные (\ ") односимвольные кавычки (")? - PullRequest
0 голосов
/ 19 июня 2020

Я пытаюсь заменить все случаи появления (\ ") только кавычками: ("). Я пробовал:

let pattern = "\\""; let replacePattern = ""\"""
let result = scrubbedJsonString?.replacingOccurrences(of: pattern, with: replacePattern)

Пытаться обезвредить специальный символ '\' с двойным '\ \'. То же с двойной кавычкой: '"'

enter image description here Не работает.

Средство?

Ответы [ 2 ]

3 голосов
/ 19 июня 2020

Прежде всего примите во внимание, что обратная косая черта может быть виртуальным ...

Вы также должны избежать обратной косой черты sh.

let pattern = "\\\""

Или используйте современный синтаксис (Swift 5 +)

let pattern = #"\""#
0 голосов
/ 19 июня 2020

\\ - это обратная косая черта sh, а \" - одинарная кавычка.

let pattern = "\\\""; let replacePattern = "\""
let result = scrubbedJsonString?.replacingOccurrences(of: pattern, with: replacePattern)

или еще лучше, используйте расширенные разделители, чтобы удалить все обратные косые черты.

let pattern = #"\""#; let replacePattern = #"""#
let result = scrubbedJsonString?.replacingOccurrences(of: pattern, with: replacePattern)
...