2012-02-26 20 views
110

में string.replace() का उपयोग कैसे करें string.replace() को अजगर 3.x पर बहिष्कृत किया गया है। ऐसा करने का नया तरीका क्या है?पायथन 3.x

>>> 'hello, world'.replace(',', ':') 
'hello: world' 
+9

Fwiw, मैं एक ही भ्रम की स्थिति थी। Google "पायथन स्ट्रिंग प्रतिस्थापन" मुझे पायथन 2.7 में पुराने बहिष्कृत स्ट्रिंग फ़ंक्शंस में ले गया। आईएमएचओ, वह अनुभाग "string.xxx()" बनाम "xxx (स्ट्रिंग)" समझाते हुए एक बड़े बोल्ड बॉक्स का उपयोग कर सकता है, और लोगों को गैर-बहिष्कृत स्ट्रिंग विधियों को निर्देशित कर सकता है, उदा। http://docs.python.org/library/stdtypes.html#string-methods – ToolmakerSteve

+1

पाइथन दस्तावेज़ एक पूर्ण शंबल है क्योंकि इसे आदर्श पहली भाषा के रूप में बताया जाता है। प्रायः सामान वहां होता है, लेकिन खराब तरीके से व्यवस्थित होने के कारण, अक्सर खोज इंजन या यहां तक ​​कि अपनी साइट द्वारा अनुक्रमित नहीं किया जाता है। ToolMakerSteve के लिंक को देखें, कोर स्ट्रिंग फ़ंक्शंस मानक प्रकारों में लम्बे हुए हैं। जब आप स्ट्रिंग फ़ंक्शंस की खोज करते हैं तो यह तब नहीं आता है। –

उत्तर

126

2.x में के रूप में, str.replace() का उपयोग करें:

+3

"पुनः" (नियमित अभिव्यक्ति) मॉड्यूल के पास विकल्प हैं (कुछ? सभी?) स्ट्रिंग फ़ंक्शंस को हटा दिया गया है। इस मामले में, 're.sub()'। – ToolmakerSteve

+3

@ToolmakerSteve: 'string' फ़ंक्शंस को बहिष्कृत किया गया है। 'str' विधियां नहीं हैं। –

+0

ओह। मैं तब गलत था। धन्यवाद! – ToolmakerSteve

78

replace() python3 में <class 'str'> की एक विधि है।

उदाहरण:

>>> 'Hello world'.replace('world', 'Guido') 
'Hello Guido' 
3

इस प्रयास करें:

mystring = "This Is A String" 
print(mystring.replace("String","Text")) 
1

FYI करें, जब (स्ट्रिंग अंदर एक मनमाना, स्थिति-निश्चित शब्द के लिए कुछ अक्षर जोड़कर जैसे एक क्रिया विशेषण के लिए एक विशेषण बदलते प्रत्यय -ly जोड़कर), आप पठनीयता के लिए लाइन के अंत में प्रत्यय डाल सकते हैं।()

s="The dog is large small" 
ss=s.replace(s.split()[3],s.split()[3]+'ly') 
ss 
'The dog is largely small' 
-4
ss = s.replace(s.split()[1], +s.split()[1] + 'gy') 
# should have no plus after the comma --i.e., 
ss = s.replace(s.split()[1], s.split()[1] + 'gy') 
+3

हालांकि यह कोड प्रश्न का उत्तर दे सकता है, इस सवाल का जवाब दे सकता है कि क्यों और/या यह प्रश्न का उत्तर कैसे देता है, इसके दीर्घकालिक मूल्य में काफी सुधार होगा। कुछ स्पष्टीकरण जोड़ने के लिए कृपया अपना उत्तर संपादित करें। – CodeMouse92

0

की जगह अजगर 3 में विधि बस द्वारा किया जाता है: ऐसा करने के लिए, split()replace() अंदर का उपयोग

a = "This is the island of istanbul" 
print (a.replace("is" , "was" , 3)) 

#3 is the maximum replacement that can be done in the string# 

>>> Thwas was the wasland of istanbul 

# Last substring 'is' in istanbul is not replaced by was because maximum of 3 has already been reached 
+0

याद रखें कि आप 3 भी नहीं डाल सकते हैं और यह सभी संयोगों को बदल देगा। –

+0

हां, यह वैकल्पिक है। :) –

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