加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 确保只有一组特定字符在字符串中

发布时间:2020-12-20 12:06:42 所属栏目:Python 来源:网络整理
导读:有没有办法确保只有字符’m”c”b’在一个字符串中而不诉诸正则表达式? 例如,如果用户输入’m’,程序将打
有没有办法确保只有字符’m”c”b’在一个字符串中而不诉诸正则表达式?

例如,如果用户输入’m’,程序将打印’Major’.如果用户输入’mc’,程序将打印’Major,Critical’.

所以我想确保如果用户输入类似’mca’的内容,程序将打印’不适用’.

try:
    if 'a' in args.findbugs:
        if len(args.findbugs) > 1:
            print 'findbugs: Not an applicable argument.'
        else:
            print 'FINDBUGS:ALL'
    else:
        if 'm' in args.findbugs:
            print 'FINDBUGS:MAJOR'
        if 'c' in args.findbugs:
            print 'FINDBUGS:CRITICAL'
        if 'b' in args.findbugs:
            print 'FINDBUGS:BLOCKER'
except TypeError:
    print "FINDBUGS: NONE"

解决方法

那么,与你描述的最简单的方法是:

some_string = 'mca'
if set(some_string) <= {'m','c','b'}:
    # The string contains only 'm',or 'b'.
else:
    # The string 'mca' does not match because of 'a'.

或者,如果您打算至少要求m,c或b:

some_string = 'mca'
if set(some_string) & {'m','b'}:
    # The string contains 'm',or 'b',so 'mca' will match.

注意:正如bgporter所指出的,在小于2.7的Python版本中不能使用set literal notation.如果需要支持,请使用set((‘m’,’c’,’b’)).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读