即使数字在文本字段中,这也总是返回失败?请帮我解释一下我哪里出错了。提前谢谢。
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有关?
答案 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)