Убрать экранирующий символ "\" в Swift 5 - PullRequest
0 голосов
/ 15 октября 2019

Я пытаюсь загрузить XML-файл с Alamofire 5 multipartFormData. Для части данных это должно быть String, и когда я сделал XML-файл для String, он содержит управляющие символы. Я попытался replacingOccurrences(of: "\"", with: ""), но он удалил всю строку внутри моего XML. Если бы я попытался replacingOccurrences(of: "\", with: ""), он превращается , with: "") в строку. Есть ли способ убрать обратную косую черту? Благодарю.

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

Вот пример xml

<code displayName="Vital signs" codeSystemName="LOINC" code="8716-3" codeSystem="12345"></code>
<title>Vital Signs</title>
<text>Measurement period:null-null

    <table>
        <thead>
            <tr>
                <th>Measurement</th>
                <th>Date/Time</th>
                <th>Value</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>Mean artillery pressure</td>
                <td>2019-10-15/12:11</td>
                <td>8</td>
            </tr>
        </tbody>
    </table>
</text>
<entry typeCode="DRIV">

до

После того, как я попытался xml.replacingOccurrences(of: "\"", with: "") , удалить "" в xml

1 Ответ

0 голосов
/ 15 октября 2019

Из комментария:

@ CRD Я сделал po в консоли отладки и скопировал и вставил в пустой файл. Как вы видите на изображении, там есть \ ". Я попытался вручную удалить его в пустой файл и использовать загрузку почтальона на сервер, он работает. Но я не могу сделать это в Xcode.

Похоже, у вас нет обратной косой черты в строке. Простой код:

func applicationDidFinishLaunching(_ aNotification: Notification)
{
   let withQuotes = "A \"quoted\" word"
   print("withQuotes |\(withQuotes)|")
}

Поместите точку останова в последнюю фигурную скобку и запустите:

withQuotes |A "quoted" word|
(lldb) po withQuotes
"A \"quoted\" word"

"po" показывает значениестроки в виде литерала - в кавычках и с escape-кодом, но строка значение не включает эти кавычки или экранированные символы.

Для записи, чтобы удалить обратную косую черту в строковом значении, вы можете использовать:

.replacingOccurrences(of: "\\", with: "")

вызывается из строкового литерала или переменной.

HTH

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...