2012-10-14 14 views
20

स्ट्रिंग के पहले शब्द को हटाने का सबसे तेज़/साफ तरीका क्या है? मुझे पता है कि मैं split का उपयोग कर सकता हूं और फिर अपनी स्ट्रिंग प्राप्त करने के लिए सरणी पर फिर से चला सकता हूं। लेकिन मुझे पूरा यकीन है कि यह करने का सबसे अच्छा तरीका नहीं है।एक पायथन स्ट्रिंग में पहला शब्द निकालें?

Ps: मैं अजगर के लिए काफी नया हूं और मुझे हर चाल पता नहीं है।

आपकी मदद के लिए अग्रिम धन्यवाद।

+0

विभाजन, पॉप, शामिल हों? – Prasanth

उत्तर

48

मुझे लगता है कि सबसे अच्छा तरीका अलग हो गए, लेकिन केवल एक विभाजन तक सीमित करने maxsplit पैरामीटर प्रदान करके है:

>>> s = 'word1 word2 word3' 
>>> s.split(' ', 1) 
['word1', 'word2 word3'] 
>>> s.split(' ', 1)[1] 
'word2 word3' 
+1

वह स्ट्रिंग से पहला शब्द निकालना चाहता है, इसलिए कमांड 'a = a.split (' ', 1) [1] ' –

+0

@IonutHulub ओह होना चाहिए, आप सही हैं। मैं जवाब संपादित कर दूंगा। – ovgolovin

+0

सीमाओं को सुरक्षित रखने के लिए इसे कैसे संशोधित किया जा सकता है? – gandolf

0

यह मानकर आप शब्द एक जगह से अलग होते हैं गारंटी ले सकते हैं, str.partition() है कि तुम क्या कर रहे हैं खोज रहे हैं

>>> test = "word1 word2 word3" 
>>> test.partition(" ") 
('word1', ' ', 'word2 word3') 

टुपल में तीसरा आइटम वह हिस्सा है जो आप चाहते हैं।

3

दूसरा उत्तर अपवाद उठाएगा यदि आपकी स्ट्रिंग में केवल एक शब्द है, जो मुझे लगता है कि आप जो चाहते हैं वह नहीं है।

इसके बजाय ऐसा करने का एक तरीका 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' 
11

एक अनुभवहीन समाधान होगा:

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) 

अधिक आम तौर पर, "शब्द" से जुड़े किसी प्रश्न का उत्तर देना असंभव है, यह जानने के बिना कि हम किस प्राकृतिक भाषा के बारे में बात कर रहे हैं। "जई" कितने शब्द हैं? कैसे "中华人民共和国" के बारे में?

संबंधित मुद्दे