Python将字符串文本转换为字符串

2024-04-19 06:55:14 发布

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

我想把像r"r'\nasdf'"这样的字符串文字转换为字符串(在本例中为'\\nasdf')。

另一例:从r"'\nasdf'"'\nasdf'。 我希望你明白。

这很重要,因为我有一个python脚本的解析器,它想知道字符串文本的确切内容。

eval是一个聪明的解决方案吗?字符串文本在前面被过滤(使用tokenize),因此不应导致安全责任。难道没有比计算文字更高尚的解决方案了吗?可能是一个解析器库?

编辑:添加其他示例,以避免误解。


Tags: 字符串文本脚本解析器编辑示例内容eval
2条回答

你想要^{} module

>>> import ast
>>> raw = r"r'\nasdf'"
>>> ast.literal_eval(raw)
'\\nasdf'
>>> raw = r"'\nasdf'"
>>> ast.literal_eval(raw)
'\nasdf'

这是评估/分析包含Python源代码的字符串的安全方法(与eval()不同)。

是的,有:

>>> s = r'\nasdf'
>>> s.decode('string-escape')
'\nasdf'

相关问题 更多 >