我正在使用包含数字和字母数字的字符串,或仅包含数字,但不仅仅是alpha.为了测试错误匹配,我需要检查字符串是否包含至少一个数字,如果没有则打印错误消息.我一直在使用以下代码:
s = '0798237 sh 523-123-asdjlh'
def contains_digits(s):
for char in list(s):
if char.isdigit():
return True
break
return False
if contains_digits(s) == True:
print s
else:
print 'Error'
Run Code Online (Sandbox Code Playgroud)
是否有更多的pythonic或更简单的方法,或者这是否足够?另外,我不能只检查字符串是否是字母数字,因为字符串可能包含各种符号(' - ',空格等)
我有一个名为FILE-1.txt或FILE-340.txt的文件.我希望能够从文件名中获取数字.我发现我可以使用
numbers = re.findall(r'\d+', '%s' %(filename))
Run Code Online (Sandbox Code Playgroud)
得到一个包含数字的列表,并使用数字[0]将数字本身作为一个字符串...但如果我知道它只是一个数字,它似乎是迂回的,并且不必要制作一个列表来获取它.还有另一种方法吗?
编辑:谢谢!我想我现在有另一个问题.而不是获取字符串,我如何获得整数?
我是一个尝试学习字符串验证的绝对初学者。我有一个用于存储用户输入的变量:
Text_input = raw_input('Type anything: ')
Run Code Online (Sandbox Code Playgroud)
我想检查是否Text_input至少包含一个字母数字字符。(如果没有,程序应该打印一条消息,例如“再试一次!”并要求用户再次键入。)因此,键入“A#”应该通过,但不应通过。有什么建议么?
说我有一个句子列表,其中很多包含数字(但不是全部):
mylist = [
"The current year is 2015 AD.",
"I have 2 dogs."
...
]
Run Code Online (Sandbox Code Playgroud)
我想知道列表中的哪些元素包含有效年份(例如,介于1000和3000之间)。我知道这是一个正则表达式问题,而且我发现了一些帖子(例如,此帖子)可以解决检测字符串中的数字的问题,但是整整一年都没有。有任何正则表达式向导吗?
所以我必须创建验证密码是否的代码:
这是代码:
def validate():
while True:
password = input("Enter a password: ")
if len(password) < 8:
print("Make sure your password is at lest 8 letters")
elif not password.isdigit():
print("Make sure your password has a number in it")
elif not password.isupper():
print("Make sure your password has a capital letter in it")
else:
print("Your password seems fine")
break
validate()
Run Code Online (Sandbox Code Playgroud)
我不确定有什么问题,但是当我输入一个有号码的密码时 - 它一直告诉我我需要一个带有数字的密码.有解决方案吗
从大型字符串列表中删除包含数字的所有项目的最佳方法是什么?
输入: ['This','that','That4423','42','13b''Yes','2']
输出: ['这','那','是']