1
我有一個包含反斜槓的字符串:保留所有反斜槓在字符串
"{ \time 4/4 \key c \major d'4 }"
當我嘗試將它傳遞一個child_process的NodeJS或只是CONSOLE.LOG它, 反斜槓被刪除:
console.log("{ \time 4/4 \key c \major d'4 }");
// "{ ime 4/4 key c major d'4 }"
我嘗試了所有的東西,我發現,如.replace(/\\/g, '\\')
或JSON.stringify
,但似乎沒有任何工作。
該字符串是動態構建的,所以我無法手動將其轉義。
任何想法?評論後
更新:
我正在使用node-python用Python編寫的(python-mingus)庫此字符串。
當我從答案和註釋理解,沒有辦法正確解析字符串,而不會改變任何圖書館或包裝...
謝謝大家。
' 「{\\時間4/4 \\ C鍵\\主要D'4}」 '工作正常。在將數據放入JavaScript之前,您需要轉義*。你從哪裏得到它? – h2ooooooo
「動態構建」到底如何,以及爲什麼是斜線?如果它是一個字符串文字,則斜槓可能被解析器刪除。 – adeneo
雙字符字符串文字「\ m」僅表示一個字符的字符串值。 JavaScript只能處理字符串值,而不能處理字符串文字。你也可以要求在數字文字'10e2'中保留'e'。你不能;該文字表示值「1000」,並且該值沒有「e」。類似地,文字'\ m'表示值'm',並且該值沒有反斜槓。 – apsillers