我想从字符串中删除特定数量的单词。例如,我的字符串是s = "I am a good person JOKE JOKE JOKE"
,我想从字符串中删除最后3个单词。该怎么做?
答案 0 :(得分:0)
结合使用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
,它以分隔符和最大值为两个参数。我们进行了第一次分割,这应该是我们的结果。