Ruby Academy · पाठ

Substitution

Patterns के साथ gsub

पाठ 3, कुल 4 में से13 चरण

Substitution, CoddyKit पर Ruby Academy का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Ruby Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Ruby Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

sub से पाठ बदलना

String#sub किसी पैटर्न के पहले मिलान को प्रतिस्थापन स्ट्रिंग से बदलता है। मूल स्ट्रिंग नहीं बदलती; एक नई स्ट्रिंग लौटाई जाती है।

s = 'hello world'
puts(s.sub(/world/, 'Ruby'))
puts s

gsub से सभी मिलान बदलना

gsub का अर्थ वैश्विक प्रतिस्थापन है। यह केवल पहले मिलान को नहीं, बल्कि हर मिलान को बदलता है।

puts('a-b-c-d'.gsub(/-/, '_'))
puts('one two two'.gsub(/two/, 'three'))

प्रतिस्थापन में पैटर्न

gsub का पहला तर्क एक पूर्ण रेगेक्स हो सकता है, जिससे आप निश्चित पाठ के बजाय लचीले पैटर्न से मिलान कर सकते हैं।

puts('id42 id7 id100'.gsub(/\d+/, '#'))
puts('a1b2c3'.gsub(/[0-9]/, '*'))

प्रतिस्थापन में बैकरेफ़रेंस

प्रतिस्थापन स्ट्रिंग में आप \1, \2 आदि के ज़रिए कैप्चर किए गए समूहों को संदर्भित कर सकते हैं।

puts('2026-05-30'.gsub(/(\d{4})-(\d{2})-(\d{2})/, '\3/\2/\1'))

पूरे मिलान का बैकरेफ़रेंस

\0 या \& पूरे मिलान किए गए पाठ को संदर्भित करता है और मिलानों को किसी आवरण में रखने के लिए उपयोगी है।

puts('cat dog'.gsub(/\w+/, '[\0]'))

gsub का ब्लॉक रूप

gsub एक ब्लॉक स्वीकार करता है। हर मिलान ब्लॉक को दिया जाता है और ब्लॉक का लौटाया गया मान प्रतिस्थापन बन जाता है। इससे आप प्रतिस्थापन की गणना गतिशील रूप से कर सकते हैं।

result = 'a1 b2 c3'.gsub(/\d/) { |d| (d.to_i * 10).to_s }
puts result

मिलानों को बड़े अक्षरों में बदलना

ब्लॉक रूप से रूपांतरण करना आसान हो जाता है। यहाँ हम हर शब्द के पहले अक्षर को बड़ा करते हैं।

title = 'the great escape'.gsub(/\w+/) { |w| w.capitalize }
puts title

हैश से प्रतिस्थापन

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

map = { 'cat' => 'kedi', 'dog' => 'kopek' }
puts('cat and dog'.gsub(/cat|dog/, map))

मूल स्ट्रिंग में बदलने वाले रूप

sub! और gsub! स्ट्रिंग को मूल स्थान पर बदलते हैं और यदि कोई परिवर्तन न किया गया हो तो nil लौटाते हैं।

s = 'hello'
s.gsub!(/l/, 'L')
puts s
puts(s.gsub!(/z/, 'x').inspect)

पाठ हटाना

मिलानों को हटाने के लिए उन्हें एक खाली स्ट्रिंग से बदलें।

puts('h e l l o'.gsub(/\s/, ''))
puts('price: $42'.gsub(/[^0-9]/, ''))

नामित समूहों के बैकरेफ़रेंस

आप (?<name>...) की मदद से समूहों को नाम दे सकते हैं और प्रतिस्थापन में \k<name> का इस्तेमाल करके उन्हें संदर्भित कर सकते हैं।

out = 'John Smith'.gsub(/(?<first>\w+) (?<last>\w+)/, '\k<last>, \k<first>')
puts out

त्वरित जाँच

sub और gsub में क्या अंतर है?

पुनरावलोकन: प्रतिस्थापन

आपने पैटर्न की मदद से स्ट्रिंग को बदलना सीखा:

  • sub पहला मिलान बदलता है, जबकि gsub सभी मिलान बदलता है
  • प्रतिस्थापन में बैकरेफ़रेंस \1 और \&
  • ब्लॉक रूप प्रतिस्थापन की गणना गतिशील रूप से करता है
  • हैश तर्क मिलानों को मानों से जोड़ता है
  • sub! / gsub! मूल स्ट्रिंग में बदलाव करते हैं
puts('foo bar baz'.gsub(/b\w+/) { |w| w.upcase })
शुरुआत निःशुल्क

एआई शिक्षक के साथ Ruby सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
29
पाठ
109

अक्सर पूछे जाने वाले प्रश्न

क्या “Substitution” पाठ निःशुल्क है?

हाँ — Ruby Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “Substitution” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Ruby Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“Substitution” में मैं क्या सीखूँगा?

Patterns के साथ gsub आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Ruby Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Ruby Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Ruby Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।

“Substitution” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Ruby Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Ruby Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. Regex Literals
  2. Matching और Capturing
  3. Substitution
  4. Named Groups और Anchors
← Ruby Academy पर वापस जाएँ