我正在尝试测试我的文本字段是否包含数字我是python

时间:2017-10-25 10:48:43

标签: python

即使数字在文本字段中,这也总是返回失败?请帮我解释一下我哪里出错了。提前谢谢。

import ui
import console
import re

_digits = re.compile('\d')
def contains_digits(d):
    return bool(_digits.search(d))  

def button_pushed(sender):
    if contains_digits(textfield1):
        print(textfield1)
    else:
        print('failed')

v=ui.load_view()
print(v['textfield1'].text.isdigit)
textfield1 = str(v['textfield1'].text)

print(textfield1)
v.present('fullscreen')

**更新** 上面的内容适用于包含字符串的变量,但由于某种原因它不能处理ui.textfield的text属性?我想知道它是否与unicode有关?

2 个答案:

答案 0 :(得分:1)

将此功能用于contains_digit

def contains_digits(d):
    for char in d:
        if char.isdigit():
            return True
    return False

同样如Van Peer所述,print(v['textfield1'].text.isdigit)应为print(v['textfield1'].text.isdigit()),但如果文本中的每个字符都是数字,则只会打印True。

答案 1 :(得分:0)

如果字符串中存在数字,则以下函数将返回True,否则为False

def contains_digits(s):
    return any(i.isdigit() for i in s)