Константа DateTime в C #

a='\nu + \lambda + \theta'
d=a.encode('string_escape').replace('\\\\','\\')
print(d)
# \nu + \lambda + \theta

Это показывает, что перед n, l и t:

print(list(d))
# ['\\', 'n', 'u', ' ', '+', ' ', '\\', 'l', 'a', 'm', 'b', 'd', 'a', ' ', '+', ' ', '\\', 't', 'h', 'e', 't', 'a']

есть одна обратная косая черта с обратной связью. , Вот простой пример захвата некоторого пользовательского ввода через Tkinter.Entry. Обратите внимание, что только что найденный текст имеет только обратную косую черту перед n, l и t. Таким образом, дополнительная обработка не требуется:

import Tkinter as tk

def callback():
    print(list(text.get()))

root = tk.Tk()
root.config()

b = tk.Button(root, text="get", width=10, command=callback)

text=tk.StringVar()

entry = tk.Entry(root,textvariable=text)
b.pack(padx=5, pady=5)
entry.pack(padx=5, pady=5)
root.mainloop()

Если вы введете \nu + \lambda + \theta в поле ввода, консоль (правильно) напечатает:

['\\', 'n', 'u', ' ', '+', ' ', '\\', 'l', 'a', 'm', 'b', 'd', 'a', ' ', '+', ' ', '\\', 't', 'h', 'e', 't', 'a']

Если ваш графический интерфейс не возвращает похожие результаты (как кажется, кажется, ваш пост), то я бы рекомендовал изучить проблему с графическим интерфейсом, а не сбрасывать string_escape и строку replace.

44
задан Dan Abramov 28 July 2011 в 13:35
поделиться