检查字符串的条件

时间:2012-05-23 19:11:11

标签: python string

假设我有一个字符串,我想检查这个字符串上的很多条件。例如:

  1. 尺寸为x
  2. 没有空格
  3. 最后一个字母是数字字符
  4. 1-3的所有条件 它可以在函数中以常规标准方式完成(如果这个和那个等')

    但是......我怎么能以一种优秀的蟒蛇风格的方式在一行中做到这一点?

4 个答案:

答案 0 :(得分:7)

您可以使用if的简单any条件:

s='fdsfgsgsfds9'
if len(s)==7 and not any(c.isspace() for c in s) and s[-1].isdigit():
    pass

答案 1 :(得分:5)

它可能比它的价值更复杂,但你可以用正则表达式检查所有这些条件。

例如,如果您想要的大小为8个字符,则可以使用以下方法检查所有三个条件:

if re.match(r'\S{7}\d$', text):
    print 'all conditions match'

答案 2 :(得分:4)

一种方法是使用正则表达式(假设x为10):

if re.match(r"\S{10}(?<=\d)$", mystring):
    # Success!

答案 3 :(得分:1)

尝试类似

的内容
import re
def test(s):
    return len(s)>=x and re.match("^\S*\d$", s)

这将测试字符串的长度是否至少为x,并且它是一系列非空格字符,后面跟一个数字字符。