我测试的字符串可以与[\w-]+
匹配。我可以在Python中测试字符串是否符合这一点,而不是列出不允许的字符列表并对其进行测试吗?
发布于 2012-06-08 15:10:40
如果要根据正则表达式测试字符串,请使用re库
import re
valid = re.match('^[\w-]+$', str) is not None
发布于 2017-11-27 17:11:16
在不使用纯python导入任何模块的情况下,删除除破折号以外的任何非字母和数字。
string = '#Remove-*crap?-from-this-STRING-123$%'
filter_char = lambda char: char.isalnum() or char == '-'
filter(filter_char, string)
# This returns--> 'Remove-crap-from-this-STRING-123'
或者一行:
''.join([c for c in string if c.isalnum() or c in ['-']])
https://stackoverflow.com/questions/10944438
复制相似问题