首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何检查字符串是否只包含字母数字字符和破折号?

如何检查字符串是否只包含字母数字字符和破折号?
EN

Stack Overflow用户
提问于 2012-06-08 15:06:34
回答 2查看 44K关注 0票数 24

我测试的字符串可以与[\w-]+匹配。我可以在Python中测试字符串是否符合这一点,而不是列出不允许的字符列表并对其进行测试吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-08 15:10:40

如果要根据正则表达式测试字符串,请使用re

代码语言:javascript
复制
import re
valid = re.match('^[\w-]+$', str) is not None
票数 38
EN

Stack Overflow用户

发布于 2017-11-27 17:11:16

在不使用纯python导入任何模块的情况下,删除除破折号以外的任何非字母和数字。

代码语言:javascript
复制
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'

或者一行:

代码语言:javascript
复制
''.join([c for c in string if c.isalnum() or c in ['-']])
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10944438

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档