我從用戶輸入的GUI文本框中讀取字符串,並通過pandoc進行處理。該字符串包含用於數學的乳膠指令,該指令具有反斜槓字符。我想將字符串作爲原始字符串發送給pandoc進行處理。但是像'\ theta'這樣的東西就成了一個標籤和'heta'。python:如何將字符串文字轉換爲原始字符串文字?
如何將包含反斜槓字符的字符串文字轉換爲原始字符串...?
編輯:
謝謝develerx,飛羊和unutbu。但沒有任何解決方案似乎對我有幫助。原因是還有其他反斜槓字符,它們在蟒蛇中沒有任何影響,但對乳膠有意義。
例如'\ lambda'。所有方法建議生產
\\lambda
不通過乳膠加工去 - 它應該繼續作爲\拉姆達。
另一個編輯:
如果我能得到這個工作,我想我應該通過。 @Mark:所有三種方法都給出了我不想要的答案。
a='\nu + \lambda + \theta';
b=a.replace(r"\\",r"\\\\");
c='%r' %a;
d=a.encode('string_escape');
print a
u + \lambda + heta
print b
u + \lambda + heta
print c
'\nu + \\lambda + \theta'
print d
\nu + \\lambda + \theta
你確定字串的確不包含'\\ lambda'並不僅僅是增加了一倍,當你打印出來?嘗試打印'mystring [1:]',看看裏面是否還有'\'。應該有一些一致性 - 如果'\ t'正在轉換爲標籤,那麼'\\'應該轉換爲'\'。 –
您可以發佈從GUI文本框收到的字符串的'repr',並顯示您用於通過pandoc處理它的代碼嗎? – unutbu
你的測試是不現實的。你沒有從文本框中獲得它,你用一個字符串字面值來設置它,並且Python在分配給'a'時已經以不一致的方式轉換它。在這一點上不可能獲得原始文本。 –