刪除字符串的第一個單詞的最快/最乾淨的方法是什麼?我知道我可以使用split
,然後迭代數組來獲取我的字符串。但我很確定這不是最好的方法。刪除Python字符串中的第一個單詞?
ps:我對Python很新,我不知道每一個竅門。
在此先感謝您的幫助。
刪除字符串的第一個單詞的最快/最乾淨的方法是什麼?我知道我可以使用split
,然後迭代數組來獲取我的字符串。但我很確定這不是最好的方法。刪除Python字符串中的第一個單詞?
ps:我對Python很新,我不知道每一個竅門。
在此先感謝您的幫助。
假設你能保證用一個空格隔開的話,str.partition()
是你是什麼尋找。
>>> test = "word1 word2 word3"
>>> test.partition(" ")
('word1', ' ', 'word2 word3')
元組中的第三項是你想要的部分。
如果你的字符串只有一個單詞,我認爲不是你想要的,另一個答案會引發異常。
改爲此的一種方法是使用str.partition
函數。
>>> s = "foo bar baz"
>>> first, _, rest = s.partition(" ")
>>> rest or first
'bar baz'
>>> s = "foo"
>>> first, _, rest = s.partition(" ")
>>> rest or first
'foo'
一個天真的解決辦法是:
text = "funny cheese shop"
print text.partition(' ')[2] # cheese shop
然而,這不會在以下(無可否認人爲的)例子的工作:
text = "Hi,nice people"
print text.partition(' ')[2] # people
爲了解決這個問題,你需要正則表達式:
import re
print re.sub(r'^\W*\w+\W*', '', text)
更一般地說,如果不知道我們正在談論的是哪種自然語言,就不可能回答涉及「單詞」的問題。 「J'ai」有多少個單詞? 「中華人民共和國」怎麼樣?
split,pop,join? – Prasanth