Cha*_*eon 8 python regex string
我想要将\W
除了-
破折号之外的所有字母替换为空格,即:
black-white
会给 black-white
black#white
会给 black white
我非常了解正则表达式,但我不知道如何处理它.
想想看,我想使用Unicode所以[a-zA-Z]
不会\w
仅英文喜欢.考虑到我更喜欢Python语法,但可以阅读其他建议.
fal*_*tru 11
使用否定字符类:( \W
相当于[^\w]
; [^-\w]
=> \W
除外-
)
>>> re.sub(r'[^-\w]', ' ', 'black-white')
'black-white'
>>> re.sub(r'[^-\w]', ' ', 'black#white')
'black white'
Run Code Online (Sandbox Code Playgroud)
>>> import regex
>>> print regex.sub(r'(?V1)[\W--[-]]', ' ', 'black-white')
black-white
>>> print regex.sub(r'(?V1)[\W--[-]]', ' ', 'black#white')
black white
Run Code Online (Sandbox Code Playgroud)