尝试格式化此字符串并去除非ASCII字符
import re
text = '<phone_number><![CDATA[0145236243 <0x0C><0x05><0x4>
]>' clean = re.sub('[^ \ x00- \ x7f]',“”,文本)
这似乎无法正确完成工作。有人有适当的解决方案。我还上传了一个文件,以防万一stackoverflow格式化了非升序字符。
答案 0 :(得分:1)
不是很普通。但是以下解决方案可能对您有用
''.join([i for i in text.split() if('<0x') not in i])#'<phone_number><![CDATA[0145236243]]></phone_number>'
使用正则表达式
re.sub('(<0x\w*>)|\s',"", text) # '<phone_number><![CDATA[0145236243]]></phone_number>'
答案 1 :(得分:0)
对于所有非UTF-8字符,此链接也具有类似的解决方案。 Regular expression that finds and replaces non-ascii characters with Python
您可以为此目的尝试使用str.encode()和str.decode()。
然后您可以更换它们。