如何转换该字符串:
"\xa0かかわらず"
到这个字符串?:
"かかわらず"
即如何删除非字母数字 unicode 字符?我尝试过将字符串编码为 ascii 的解决方案,但它不适用于日语符号。
使用 re.sub 将 \W (非单词)模式替换为空字符串应该可以,例如
re.sub(r'\W', '', "\x0aかか\x0aわらず")
– Metatoaster 2019 年 7 月 18 日 2:59
这有效。由于 Metatoaster 只是将其写为评论,并不是每个人都会阅读它们,所以我可以随意将其写为实际答案......
如果
\xa0かかわらず
是需要处理的实际字符串(假设 \xa0 不是一个字符,而是 4 个字符的子字符串),我们可以使用正则表达式 [A-Za-z]|\P{L}
删除任何不是任何语言中的字母的字符,或者是一封来自[A-Za-z]
的信。
import regex
pattern = regex.compile(r'(?![A-Za-z])\p{L}')
print(regex.sub(pattern, '', ' \\ x a 0 かか1わ ら.ずz'))
>>> かかわらず
注意:正则表达式不在标准Python库中。