【发布时间】:2018-08-19 17:35:41
【问题描述】:
我想从字符串中删除特定数量的单词。例如,我的字符串是 s = "I am a good person JOKE JOKE JOKE",我想从字符串中删除最后 3 个单词。该怎么做?
【问题讨论】:
-
s.split(" ")[:-3]
标签: python
我想从字符串中删除特定数量的单词。例如,我的字符串是 s = "I am a good person JOKE JOKE JOKE",我想从字符串中删除最后 3 个单词。该怎么做?
【问题讨论】:
标签: python
使用split 和join 的组合:
s = "I am a good person JOKE JOKE JOKE"
print(' '.join(s.split()[:-3]))
# I am a good person
如果我将其分解为一步一步的格式,它就是这样的:
>>> s = "I am a good person JOKE JOKE JOKE"
>>> s.split()
['I', 'am', 'a', 'good', 'person', 'JOKE', 'JOKE', 'JOKE']
>>> s.split()[:-3]
['I', 'am', 'a', 'good', 'person']
>>> ' '.join(s.split()[:-3])
'I am a good person'
步骤:
使用split()将句子拆分为单词。
通过列表切片排除最后三个单词。
使用join()加入列表。
这是我们认为解决问题的最常见方式。但我可以找到另一种解决方案:
print(s.rsplit(' ', 3)[0])
这个使用rsplit,它将分隔符和最大值作为两个参数。我们进行第一次拆分,这应该是我们的结果。
【讨论】:
print(' '.join(s.split()[:5]))。