繁体   English   中英

如何从字符串中删除特定数量的单词 - Python

[英]How to remove specific amount of words from a string - Python

我想从字符串中删除特定数量的单词。 例如,我的字符串是s = "I am a good person JOKE JOKE JOKE" ,我想从我的字符串中删除最后 3 个单词。 怎么做?

使用splitjoin的组合:

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 ,它将分隔符和最大值作为两个参数。 我们采用第一个拆分,这应该是我们的结果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM