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’)). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |