"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > पायथन: `.replace()` और `.re.sub()` विधियों के बीच अंतर

पायथन: `.replace()` और `.re.sub()` विधियों के बीच अंतर

2024-08-25 को प्रकाशित
ब्राउज़ करें:708

Python: differences between `.replace()` and `.re.sub()` methods

परिचय

पायथन में .replace() विधि और .re.sub() फ़ंक्शन दोनों का उपयोग स्ट्रिंग्स के हिस्सों को बदलने के लिए किया जाता है, लेकिन उनकी क्षमताएं और उपयोग के मामले अलग-अलग हैं। यहां उनके बीच मूलभूत अंतर हैं:

  1. मॉड्यूल और उपयोग संदर्भ:
    • ।प्रतिस्थापित करें():
      • str वर्ग से संबंधित है।
      • स्ट्रिंग ऑब्जेक्ट पर एक विधि के रूप में उपयोग किया जाता है।
      • सिंटैक्स: str.replace(पुराना, नया, गिनती=-1)
      • उदाहरण: 'हैलो वर्ल्ड'.रिप्लेस('वर्ल्ड', 'पायथन') का परिणाम 'हैलो पायथन' होता है।
  • .re.sub():
    • री मॉड्यूल (नियमित अभिव्यक्ति) से संबंधित है।
    • रे मॉड्यूल से एक फ़ंक्शन के रूप में उपयोग किया जाता है।
    • सिंटैक्स: re.sub(पैटर्न, प्रतिलिपि, स्ट्रिंग, गिनती = 0, झंडे = 0)
    • उदाहरण: re.sub(r'\bworld\b', 'पायथन', 'हैलो वर्ल्ड') का परिणाम 'हैलो पायथन' है।
  1. पैटर्न मिलान:
    • ।प्रतिस्थापित करें():
      • केवल सरल स्ट्रिंग मिलान का समर्थन करता है।
      • नियमित अभिव्यक्ति या जटिल पैटर्न का उपयोग नहीं कर सकते।
      • यदि गिनती निर्दिष्ट नहीं है तो सबस्ट्रिंग की सभी घटनाओं को बदल देता है।
  • .re.sub():
    • नियमित अभिव्यक्तियों का समर्थन करता है, जटिल पैटर्न मिलान की अनुमति देता है।
    • चरित्र वर्गों, दोहराव और समूहों जैसे पैटर्न के आधार पर मिलान और प्रतिस्थापित किया जा सकता है।
    • बैकरेफरेंस के उपयोग की अनुमति देता है और अधिक जटिल प्रतिस्थापनों को संभाल सकता है।
  1. प्रतिस्थापन लचीलापन:
    • ।प्रतिस्थापित करें():
      • एक निश्चित सबस्ट्रिंग को दूसरे निश्चित सबस्ट्रिंग से बदलने तक सीमित।
      • समूहों को कैप्चर करने या सशर्त प्रतिस्थापन जैसी कोई उन्नत प्रतिस्थापन सुविधाएँ नहीं।
  • .re.sub():
    • कैप्चरिंग समूहों का उपयोग करके गतिशील प्रतिस्थापन की अनुमति देता है।
    • प्रतिस्थापन स्ट्रिंग (प्रतिकृति) पैटर्न से मिलान किए गए समूहों को संदर्भित कर सकती है।
    • प्रतिस्थापन के रूप में एक फ़ंक्शन का उपयोग कर सकते हैं, जो मैच के आधार पर जटिल और गतिशील प्रतिस्थापन की अनुमति देता है।
  1. प्रदर्शन:
    • ।प्रतिस्थापित करें():
      • आम तौर पर सरल प्रतिस्थापन के लिए तेज़ क्योंकि इसमें पैटर्न मिलान शामिल नहीं है।
  • .re.sub():
    • नियमित अभिव्यक्ति प्रसंस्करण के ओवरहेड के कारण आम तौर पर .replace() से धीमी।

उदाहरण

.replace() का उपयोग करना:

text = "The quick brown fox jumps over the lazy dog"
result = text.replace("fox", "cat")
print(result)  # Output: The quick brown cat jumps over the lazy dog

उपयोग .re.sub():

import re

text = "The quick brown fox jumps over the lazy dog"
pattern = r'\bfox\b'
replacement = "cat"
result = re.sub(pattern, replacement, text)
print(result)  # Output: The quick brown cat jumps over the lazy dog

.re.sub() के साथ उन्नत उदाहरण:

import re

text = "The quick brown fox jumps over the lazy dog"
pattern = r'(\b\w \b)'  # Matches each word
replacement = lambda match: match.group(1)[::-1]  # Reverses each matched word
result = re.sub(pattern, replacement, text)
print(result)  # Output: ehT kciuq nworb xof spmuj revo eht yzal god

संक्षेप में, सरल और सीधे सबस्ट्रिंग प्रतिस्थापन के लिए .replace() का उपयोग करें, और जब आपको पैटर्न-आधारित प्रतिस्थापन के लिए नियमित अभिव्यक्तियों की शक्ति और लचीलेपन की आवश्यकता हो तो .re.sub() का उपयोग करें।

विज्ञप्ति वक्तव्य यह लेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/doridoro/python-differences-between-replace-and-resub-methods-1cfj?1 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए स्टडी_गोलंग@163.com से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3