用Python来删除字符串的前X个单词

时间:2016-02-23 08:42:16

标签: python python-2.7

我如何用Python进行操作?

我知道如何删除第一个单词,但现在我需要删除三个单词。

请注意,单词可以通过whitecap的数量分隔,而不仅仅是单个空格(尽管如果必须的话,我可以强制执行单个空格)。

[更新]我的意思是任何X字;我不知道他们是帽子。

我正在考虑循环并反复删除第一个单词,再次连接在一起,冲洗和重复。

5 个答案:

答案 0 :(得分:4)

s = "this    is my long     sentence"
print ' '.join(s.split(' ')[3:])

这将打印

"long sentence"

我认为你需要的是它(它会以你想要的方式处理白色空间)。

答案 1 :(得分:1)

尝试:     导入重新

print re.sub("(\w+)", "", "a sentence is cool", 3)

打印cool

答案 2 :(得分:1)

这可以通过简单的方式完成:

In [7]: str = 'Hello, this is long string'
In [8]: str = str[3:]
In [9]: str
Out[9]: 'lo, this is long string'
In [10]:

现在,您可以使用3

更新In[8]X

答案 3 :(得分:1)

您可以使用拆分:

>>> x = 3 # number of words to remove from beginning
>>> s = 'word1 word2 word3 word4'
>>> s = " ".join(s.split()) # remove multiple spacing
>>> s = s.split(" ", x)[x] # split and keep elements after index x
>>> s
'word4'

这也将处理多个空格。

答案 4 :(得分:1)

您可以使用拆分功能执行此操作。从本质上讲,它将字符串分成单独的(默认为空格分隔)单词。这些单词存储在列表中,然后从该列表中,您可以访问所需的单词,就像使用其他数据类型的常规列表一样。然后,您可以使用所需的单词加入列表以形成字符串。

例如:

import string

str='This is    a bunch of words'

string_list=string.split(
#The string is now stored in a list that looks like: 
      #['this', 'is', 'a', 'bunch', 'of', 'words']

new_string_list=string_list[3:]
#the list is now: ['bunch', 'of', 'words']

new_string=string.join(new_string_list)
#you now have the string 'bunch of words'

如果需要,您也可以在更少的行中执行此操作(不确定这是否是pythonic)

import string as st
str='this is a bunch     of words'
new_string=st.join(st.split(str[3:])
print new_string

#output would be 'bunch of words'