繁体   English   中英

Python如何从字符串中删除转义字符

[英]Python how to remove escape characters from a string

我有一个如下所示的字符串,并且我想从Python中的字符串中删除所有\\ x06字符。

例如:

s = 'test\x06\x06\x06\x06'
s1 = 'test2\x04\x04\x04\x04'
print(literal_eval("'%s'" % s))

输出:test♠♠♠♠

我只需要字符串测试并删除所有\\ xXX。

也许正则表达式模块是要走的路

>>> s = 'test\x06\x06\x06\x06'
>>> s1 = 'test2\x04\x04\x04\x04'
>>> import re
>>> re.sub('[^A-Za-z0-9]+', '', s)
'test'
>>> re.sub('[^A-Za-z0-9]+', '', s1)
'test2'

如果要删除所有\\xXX字符(不可打印的ASCII字符),最好的方法可能是这样

import string

def remove_non_printable(s):
    return ''.join(c for c in s if c not in string.printable)

请注意,这不适用于任何非ASCII可打印字符(例如é ,它将被删除)。

这应该做

import re #Import regular expressions
s = 'test\x06\x06\x06\x06' #Input s
s1 = 'test2\x04\x04\x04\x04' #Input s1
print(re.sub('\x06','',s)) #remove all \x06 from s
print(re.sub('\x04','',s1)) #remove all \x04 from s1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM