首页 > 解决方案 > 如何验证字符在输入字符串中出现的次数?

问题描述

例如:我希望我的用户输入 5 个用逗号分隔的数字...

如果我想确保逗号 (,) 只出现 4 次,否则他们将不得不再次重新输入他们的字符串,我该如何验证呢?

示例问题:“请输入 5 个数字,均以逗号分隔 -”

错误答案:2,3 或 4,5,6,7,8,9

好答案:2,3,4,5,6(4 个逗号,5 个数字)

我的想法是我应该使用正则表达式。如果有人有任何其他想法,请分享。谢谢!

标签: regexpython-3.xvalidationwhile-loop

解决方案


您不需要“正则表达式”,这可以通过基本的 Python 函数来完成:

answer = '2,3,4,5,6'

split_answer = answer.split(',')
if len(split_answer) == 5 and all(number.strip().isdigit() for number in split_answer):
    print ('good answer')
else:
    print ('bad answer')

使用该行answer.split(','),您可以测试在单个逗号上拆分后剩余的元素数量;与all(..)您一起测试这些元素中的每一个是否仅由数字组成。它的strip内部是为了确保首先删除周围的空白。


推荐阅读