input()和文本unicode解析

2024-09-27 07:28:20 发布

您现在位置:Python中文网/ 问答频道 /正文

使用input()将反斜杠视为字面反斜杠,因此我无法解析使用unicode的字符串输入。在

我的意思是:

将像"\uXXXX\uXXXX\uXXXX"这样的字符串粘贴到input()调用中会被解释为"\\uXXXX\\uXXXX\\uXXXX",但我希望它读为\u,而不是两个单独的字符。在

有没有人知道如何或者如果可能的话?在

编辑:我将输入如上所述,并将其转换为ascii,如下所示。。在

import unicodedata

def Reveal(unicodeSol):
    solution = unicodedata.normalize('NFKD', unicodeSol).encode('ascii', 'ignore')
    print(solution)

while(True):
    UserInput = input("Paste Now: ")
    Reveal(UserInput)

根据我标注的答案,正确的答案是:

^{pr2}$

Tags: 字符串答案input粘贴asciiunicode字符solution
1条回答
网友
1楼 · 发布于 2024-09-27 07:28:20

如果可以确定输入不包含引号,则可以通过在两端添加引号将输入转换为字符串文本表示,然后使用ast.literal_eval()将其计算为字符串。示例-

import ast
inp = input("Input : ")
res = ast.literal_eval('"{}"'.format(inp))

如果输入可以包含引号,则可以在计算之前用r'\"'替换双引号ast.literal_评估. 在

相关问题 更多 >

    热门问题