如何从字符串中提取第一个和最后一个单词?

时间:2016-12-19 17:39:04

标签: python string split extract

我在学校需要做的事情有一个小问题......

我的任务是从用户那里获取原始输入字符串(text = raw_input()) 我需要打印该字符串的第一个和最后一个单词。

有人可以帮我吗?我一整天都在寻找答案......

6 个答案:

答案 0 :(得分:28)

您必须首先使用str.split将字符串转换为list字词,然后您可以像以下一样访问它:

>>> my_str = "Hello SO user, How are you"
>>> word_list = my_str.split()  # list of words

# first word  v              v last word
>>> word_list[0], word_list[-1]
('Hello', 'you')

从Python 3.x ,您可以这样做:

>>> first, *middle, last = my_str.split()

答案 1 :(得分:11)

如果您使用的是Python 3,则可以执行以下操作:

text = input()
first, *middle, last = text.split()
print(first, last)

除第一个和最后一个之外的所有单词都将进入变量middle

答案 2 :(得分:6)

让我们说x是您的输入。然后你可以这样做:

 x.partition(' ')[0]
 x.partition(' ')[-1]

答案 3 :(得分:2)

有些人可能会说,使用正则表达式的答案永远不会太多(在这种情况下,这看起来像是最糟糕的解决方案......):

>>> import re
>>> string = "Hello SO user, How are you"
>>> matches = re.findall(r'^\w+|\w+$', string)
>>> print(matches)
['Hello', 'you']

答案 4 :(得分:1)

你会这样做:

print text.split()[0], text.split()[-1]

答案 5 :(得分:0)

只需将您的字符串传递给以下函数

def first_and_final(str):
    res = str.split(' ')
    fir = res[0]
    fin = res[len(res)-1]
    return([fir, fin])

用法

first_and_final('This is a sentence with a first and final word.')

结果

['This', 'word.']