python - 如何从 python 列表中删除转义字符 (\)?

我想从 python 中的字符串列表中删除多余的“\”。

例如,如果我的列表是这样的:

cmd = ['a', 'b', '{word}\\\\*', 'd']

应该是这样的:

cmd = ['a', 'b', '{word}\\\*', 'd']  # I need this exact result

如果我在分别打印每个字符串的同时遍历此列表,我就能得到字符串“{word}\*”。

与此同时,将其打印为整个列表时,它显示为:

['a', 'b', '{word}\\\\*', 'd']

程序:

import re
cmd = ['a', 'b', '{word}\\\\*', 'd']
for i in cmd:
    print("val : ", i)
print("whole list : ", cmd)

输出:

C:\Users\Elcot>python test.py
val :  a
val :  b
val :  {word}\\*
val :  d
whole list :  ['a', 'b', '{word}\\\\*', 'd']

预期结果:

whole list :  ['a', 'b', '{word}\\*', 'd']

最佳答案

您可以将字符串转换为字节,然后使用 bytes.decode 方法和 unicode_escape 作为编码来取消转义给定的字符串:

cmd = [bytes(s, 'utf-8').decode('unicode_escape') for s in cmd]

https://stackoverflow.com/questions/54471443/

相关文章:

webpack - 如何从 CLI 为 Webpack 的 devServer.contentBas

ruby-on-rails - NoMethodError:未定义字符串的方法 'permit'

javascript - 如何在 React Native 中创建六边形 View

python-3.x - 在用户控制的目录中生成 python 字节码缓存

azure-cosmosdb - 缓慢的 CosmosDB Mongodb 查询

php - Laravel 和 package spatie/laravel-translatabl

php - 如何在登录后自定义重定向

typescript - 我想在nestjs中实现自定义缓存

r - 编辑 stargazer 源代码——保存的编辑不会呈现为 pdf

java - Spring 启动 : java. lang.AbstractMethodError