我正在寻找一个代码,该代码在脚本中包含4(或5)个第一个单词。 我试过这个:
import re
my_string = "the cat and this dog are in the garden"
a = my_string.split(' ', 1)[0]
b = my_string.split(' ', 1)[1]
但我不能超过2个字符串:
a = the
b = cat and this dog are in the garden
我想:
a = the
b = cat
c = and
d = this
...
答案 0 :(得分:17)
split()
方法的第二个参数是限制。不要使用它,你会得到所有的话。
像这样使用它:
my_string = "the cat and this dog are in the garden"
splitted = my_string.split()
first = splitted[0]
second = splitted[1]
...
此外,每次想要一个单词时都不要拨打split()
,这很贵。做一次,然后稍后使用结果,就像在我的例子中一样
如您所见,不需要添加' '
分隔符,因为split()
函数(None
)的默认分隔符匹配所有空格。但是,如果您不想在Tab
上拆分,则可以使用它。
答案 1 :(得分:13)
您可以在split:
创建的列表中使用切片表示法my_string.split()[:4] # first 4 words
my_string.split()[:5] # first 5 words
N.B。这些是示例命令。你应该使用其中一个,而不是两个。
答案 2 :(得分:7)
您可以轻松地在空格上拆分字符串,但如果您的字符串中没有足够的单词,则在列表为空的情况下,分配将失败。
a, b, c, d, e = my_string.split()[:5] # May fail
最好保持列表不变,而不是将每个成员分配给个人名称。
words = my_string.split()
at_most_five_words = words[:5] # terrible variable name
这是一个可怕的变量名称,但我用它来说明你不能保证得到五个字的事实 - 你只能保证最多得到 五个字。