我想从 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
typescript - 我想在nestjs中实现自定义缓存