python检测字符串是否包含垃圾

时间:2014-08-12 13:28:35

标签: python filter

我想使用python检测变量字符串,如果它包含以下其他内容,即800m2,

所以例如

如果string =“820m2 bla bla”,那么boolean = false, 但如果string =“340m2”则布尔值为真

2 个答案:

答案 0 :(得分:1)

您可以使用正则表达式r'^\d+m2$'re module)来匹配此字符串模式:

>>> pattern = re.compile(r'^\d+m2$')  # assuming that m2 == square meter
>>> bool(pattern.search("340m2"))
True
>>> bool(pattern.search("820m2 bla bla"))
False

正则表达式解释:

  • ^表示"以"
  • 开头
  • \d表示"数字"
  • +表示"一个或多个" (在这种情况下:"一个或多个数字")
  • m2表示" m2"字面上
  • $表示"以"
  • 结尾

所以,我们得到了表达式:"匹配以一个或多个数字开头并以' m2'"结束的字符串。

答案 1 :(得分:0)

使用正则表达式:

>>> import re
>>> bool(re.search('^\d+m\d+$', "820m2 bla bla"))
False
>>> bool(re.search('^\d+m\d+$', "340m2"))
True

\d匹配任何数字字符。 \d+匹配一个或多个数字。

^匹配字符串的beginnig,$匹配字符串的末尾。