2024-04-19 06:55:14 发布
网友
我想把像r"r'\nasdf'"这样的字符串文字转换为字符串(在本例中为'\\nasdf')。
r"r'\nasdf'"
'\\nasdf'
另一例:从r"'\nasdf'"到'\nasdf'。 我希望你明白。
r"'\nasdf'"
'\nasdf'
这很重要,因为我有一个python脚本的解析器,它想知道字符串文本的确切内容。
eval是一个聪明的解决方案吗?字符串文本在前面被过滤(使用tokenize),因此不应导致安全责任。难道没有比计算文字更高尚的解决方案了吗?可能是一个解析器库?
eval
tokenize
编辑:添加其他示例,以避免误解。
你想要^{} module:
>>> import ast >>> raw = r"r'\nasdf'" >>> ast.literal_eval(raw) '\\nasdf' >>> raw = r"'\nasdf'" >>> ast.literal_eval(raw) '\nasdf'
这是评估/分析包含Python源代码的字符串的安全方法(与eval()不同)。
eval()
是的,有:
>>> s = r'\nasdf' >>> s.decode('string-escape') '\nasdf'
你想要^{} module :
这是评估/分析包含Python源代码的字符串的安全方法(与
eval()
不同)。是的,有:
相关问题 更多 >
编程相关推荐