关于Python:Python – 检查字符串是否包含多个单词

Python - Check if a string contains multiple words

本问题已经有最佳答案,请猛点这里访问。

我想知道在python 2.7中是否有一个函数检查一个字符串是否包含多个单词(就像在单词之间有空格/标点符号),类似于.isalpha()检查字符串是否只包含字母?

例如,如果沿着这条线的东西存在…

1
2
3
4
var_1 ="Two Words"

if var_1.containsmultiplewords():
print"Yes"

然后输出"是"。

谢谢!


基本实施

通常,您使用split()将一个字符串拆分为一个列表。如果列表中有多个元素,则为True(即可以打印"是")。

1
2
def contains_multiple_words(s):
  return len(s.split()) > 1

标点符号支持

为了支持标点符号等,可以通过re模块的split命令在正则表达式上拆分:

1
2
3
4
import re

def contains_multiple_words(s):
  return len(re.compile('\W').split(s)) > 1

正则表达式字符类\W表示任何单个非字字符,例如标点符号或空格(有关详细信息,请参阅python regex语法指南)。

因此,将其拆分,而不是仅使用空格(第一个示例中的默认值),可以使"单词"的概念更加现实。


不,没有这样的架子。

如果你的唯一目的是找出它是只有一个词还是有一个词,那么可以通过以下方式来完成:

1
2
3
x = 'has words'
' ' in x
>>> True