2014-05-15 8 views
7

मुझे एक स्ट्रिंग से एक विशिष्ट शब्द को पट्टी करने की आवश्यकता है।स्ट्रिंग से एक विशिष्ट शब्द को कैसे पट्टी करें?

लेकिन मुझे लगता है कि पाइथन स्ट्रिप विधि एक आदेशित शब्द को पहचान नहीं सकती है। पैरामीटर को पास किए गए किसी भी अक्षर को बस स्ट्रिप करें।

उदाहरण के लिए:

>>> papa = "papa is a good man" 
>>> app = "app is important" 
>>> papa.lstrip('papa') 
" is a good man" 
>>> app.lstrip('papa') 
" is important" 

मैं कैसे अजगर के साथ एक निर्धारित शब्द पट्टी सकता है?

+0

क्या आपने 'एसएलस्ट्रिप 'के दस्तावेज़ीकरण को देखा था? यह आप जो करना चाहते हैं उससे बिल्कुल अलग है। आप इस स्ट्रिंग को कुछ भी नहीं बदलना चाहते हैं। –

+0

"पपीता" शब्द से आप क्या करना चाहते हैं? – DSM

+0

@DSM मुझे लगता है कि आउटपुट 'ya' होना चाहिए। आइए ओपी के लिए – thefourtheye

उत्तर

17

str.replace का उपयोग करें।

>>> papa.replace('papa', '') 
' is a good man' 
>>> app.replace('papa', '') 
'app is important' 

वैकल्पिक रूप से re का उपयोग करें और नियमित अभिव्यक्ति का उपयोग करें। यह अग्रणी/पिछली जगहों को हटाने की अनुमति देगा।

>>> import re 
>>> papa = 'papa is a good man' 
>>> app = 'app is important' 
>>> papa3 = 'papa is a papa, and papa' 
>>> 
>>> patt = re.compile('(\s*)papa(\s*)') 
>>> patt.sub('\\1mama\\2', papa) 
'mama is a good man' 
>>> patt.sub('\\1mama\\2', papa3) 
'mama is a mama, and mama' 
>>> patt.sub('', papa3) 
'is a, and' 
+0

' प्रिंट करें 'पिताजी पिताजी पिताजी हैं।" जगह (' पापा ',' ')' – thefourtheye

+0

विचलित हो गया और ' 're' का उपयोग करने के लिए उदाहरणों के साथ खत्म नहीं होता है, जो अग्रणी/पिछली जगहों को हटाने की अनुमति देगा। – metatoaster

+0

सवाल इस तरह के रूप में स्पष्ट नहीं है। :( – thefourtheye

5

सबसे आसान तरीका इसे खाली स्ट्रिंग के साथ प्रतिस्थापित करना होगा।

s = s.replace('papa', '') 
+0

आप पिताजी के बाद भी एक जगह जोड़ना चाहते हैं - मुझे लगता है कि वह स्ट्रिंग में एक प्रमुख स्थान नहीं चाहता है। –

+0

'प्रिंट' आज़माएं पिताजी पिताजी हैं "। जगह ('पापा', '') ' – thefourtheye

2

तुम भी re.sub के साथ एक regexp का उपयोग कर सकते हैं:

article_title_str = re.sub(r'(\s?-?\|?\s?Times of India|\s?-?\|?\s?the Times of India|\s?-?\|?\s+?Gadgets No'', 
          article_title_str, flags=re.IGNORECASE) 
1

प्रदान करना आप शुरू और प्रत्येक शब्द आप चरित्र सरणी में बदलना चाहते हैं के अंत के सूचकांक मूल्य पता है, और आप केवल इच्छा डेटा के उस विशेष हिस्से को प्रतिस्थापित करने के लिए, आप इसे इस तरह से कर सकते हैं।

>>> s = "papa is papa is papa" 
>>> s = s[:8]+s[8:13].replace("papa", "mama")+s[13:] 
>>> print(s) 
papa is mama is papa 

वैकल्पिक रूप से, यदि आप मूल डेटा संरचना को बनाए रखना चाहते हैं, तो आप इसे एक शब्दकोश में संग्रहीत कर सकते हैं।

>>> bin = {} 
>>> s = "papa is papa is papa" 
>>> bin["0"] = s 
>>> s = s[:8]+s[8:13].replace("papa", "mama")+s[13:] 
>>> print(bin["0"]) 
papa is papa is papa 
>>> print(s) 
papa is mama is papa 
संबंधित मुद्दे