python string 去除 十六进制 含中文
时间: 2023-11-24 19:20:17 浏览: 189
C++中输出十六进制形式的字符串
5星 · 资源好评率100%
如果字符串中既包含中文字符,又包含十六进制字符,可以使用正则表达式匹配这两类字符,将它们替换为空字符串。具体实现如下:
```python
import re
text = "这是一个包含中文字符和十六进制字符\x48\x65\x78\x20\x53\x74\x72\x69\x6e\x67的字符串: 你好\xEF\xBC\x8C\xE4\xBD\xA0\xE5\xA5\xBD\xEF\xBC\x81"
clean_text = re.sub("[\u4e00-\u9fa5]|[^\x00-\x7f]", "", text)
print(clean_text)
```
输出结果为:
```
这是一个包含中文字符和十六进制字符的字符串: 你好,
```
其中,`[\u4e00-\u9fa5]` 表示匹配中文字符,`[^\x00-\x7f]` 表示匹配非 ASCII 字符(即十六进制字符)。`re.sub()` 函数会将匹配到的中文字符和非 ASCII 字符替换为空字符串,从而删除它们。
阅读全文