Pau*_*mas 5 python regex unicode
我想删除下面的一部分字符串(以粗体显示),这是存储在字符串oldString中
[DMSM-8433] 加护亜依 Kago Ai - 加护亜依vs.星期五
我在python中使用以下正则表达式
p=re.compile(ur"( [\W]+) (?=[A-Za-z ]+–)", re.UNICODE)
newString=p.sub("", oldString)
Run Code Online (Sandbox Code Playgroud)
当我输出newString时,没有删除任何内容
您可以使用以下代码段解决问题:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import re
str = u'[DMSM-8433] ???? Kago Ai – ???? vs. FRIDAY'
regex = u'[\u3000-\u303f\u3040-\u309f\u30a0-\u30ff\uff00-\uff9f\u4e00-\u9faf\u3400-\u4dbf]+ (?=[A-Za-z ]+–)'
p = re.compile(regex, re.U)
match = p.sub("", str)
print match.encode("UTF-8")
Run Code Online (Sandbox Code Playgroud)
除了# -*- coding: utf-8 -*-声明,我还添加了@nhahtdh的字符类来检测日语符号。
请注意,由于match 需要“提醒” Python 2,因此需要“手动”将其编码为UTF-8字符串,我们一直都在使用Unicode。
| 归档时间: |
|
| 查看次数: |
3117 次 |
| 最近记录: |