अजगर 3.x में string.replace () का उपयोग कैसे करें


280

String.replace () को अजगर 3.x पर दर्शाया गया है। ऐसा करने का नया तरीका क्या है?


11
एफडब्ल्यूआईडब्ल्यू, मुझे वही भ्रम था। Google "अजगर स्ट्रिंग बदलें" मुझे अजगर 2.7 में पुराने पदावनत स्ट्रिंग कार्यों में ले गया। IMHO, वह अनुभाग "string.xxx ()" बनाम "xxx (स्ट्रिंग)" को समझाते हुए एक बड़े बोल्ड बॉक्स का उपयोग कर सकता है, और लोगों को गैर- डिप्रेस्ड
टूलमेकर

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

10
स्पष्ट होने के लिए: string.replace () वास्तव में Python 3 पर नहीं
निकाला गया है


1
कभी-कभी लोग "str.replace" लिखते हैं जब उनका मतलब होता है [आपका स्ट्रिंग चर] .replace। क्योंकि 'str' भी संबंधित वर्ग का नाम है, यह भ्रामक हो सकता है।
15

जवाबों:


315

जैसे 2.x में, उपयोग करें str.replace()

उदाहरण:

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

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

8
@ToolmakerSteve: stringफ़ंक्शंस को हटा दिया गया है। strविधियाँ नहीं हैं।
इग्नासियो वाज़केज़-अब्राम्स

6
एफडब्ल्यूआईडब्ल्यू, जब भी मैं गूगल करता हूं, मुझे पुराने पदावनत स्ट्रिंग फंक्शंस खत्म होने लगते हैं। यहाँ स्ट्रिंग तरीकों के लिए (पदावनत नहीं) की कड़ी है। docs.python.org/3.3/library/stdtypes.html#string-methods ~ or_for_2 ~ docs.python.org/2/library/stdtypes.html#string-methods
ToolmakerSteve

36
अगर मुझे पायथन डॉक्यूमेंटेशन को नेविगेट करने के लिए ओवरफ्लो को स्टैक करना पड़ता है तो एक स्पष्ट समस्या है। यदि आप पढ़ रहे हैं तो पायथन टीम। इसे सुलझाएं!
एंड्रयू एस

2
ऑब्जेक्ट को विधि पर कॉल करें, न कि क्लास को। 'foo'.replace(...)
इग्नासियो वाज़केज़-अब्राम्स

108

replace()<class 'str'>अजगर 3 में एक विधि है :

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

13

पाइथन 3 में प्रतिस्थापित () विधि का उपयोग केवल इसके द्वारा किया जाता है:

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

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

4

आप उपयोग कर सकते हैं str.replace () एक के रूप में की श्रृंखला str.replace () । सोचें कि आपके पास एक स्ट्रिंग है 'Testing PRI/Sec (#434242332;PP:432:133423846,335)'और आप सभी '#',':',';','/'चिन्ह को बदलना चाहते हैं '-'। आप इसे इस तरह से बदल सकते हैं (सामान्य तरीका),

>>> str = 'Testing PRI/Sec (#434242332;PP:432:133423846,335)'
>>> str = str.replace('#', '-')
>>> str = str.replace(':', '-')
>>> str = str.replace(';', '-')
>>> str = str.replace('/', '-')
>>> str
'Testing PRI-Sec (-434242332-PP-432-133423846,335)'

या इस तरह ( str.replace () की श्रृंखला )

>>> str = 'Testing PRI/Sec (#434242332;PP:432:133423846,335)'.replace('#', '-').replace(':', '-').replace(';', '-').replace('/', '-')
>>> str
'Testing PRI-Sec (-434242332-PP-432-133423846,335)'


1

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

s="The dog is large small"
ss=s.replace(s.split()[3],s.split()[3]+'ly')
ss
'The dog is largely small'

0
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')

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

सही उत्तर पहले बताया गया है। python3 में कार्य करता है।
जोफोरस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.