Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Ruby

रूबी की Gsub विधि का उपयोग करने के 3 शानदार तरीके

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

क्यों?

क्योंकि gsub . का पूरा बिंदु स्ट्रिंग के कुछ हिस्सों को बदलना है।

वास्तव में :

"जीएसयूबी" में "उप" का अर्थ "विकल्प" है, और "जी" का अर्थ "वैश्विक" है।

यहां एक उदाहरण स्ट्रिंग है :

str = "white chocolate"

मान लें कि हम "सफेद" शब्द को "अंधेरे" शब्द से बदलना चाहते हैं।

यहां बताया गया है :

str.gsub("white", "dark")

यह कह रहा है :

स्ट्रिंग को देखते हुए str , पहले शब्द की सभी घटनाओं को बदलें (white ) दूसरे शब्द के साथ (dark )।

इसका मतलब है कि हमें ज्यादा बेहतर चॉकलेट खाने को मिलती है।

ओह रुको, यह सिर्फ एक स्ट्रिंग है।

हम वह नहीं खा सकते!

वैसे भी…

रूबी का gsub विधि सरल प्रतिस्थापन के अलावा और भी बहुत कुछ कर सकती है ।

आइए कुछ उदाहरण देखें।

पैटर्न को रेगुलर एक्सप्रेशन से बदलें

एक शब्द को बदलना ठीक है।

लेकिन क्या होगा अगर आप एक पैटर्न को बदल सकते हैं?

पसंद करें :

एक वर्ष, एक ईमेल पता, एक फोन नंबर, आदि।

आप कर सकते हैं!

यहां एक उदाहरण दिया गया है :

"a1".gsub(/\d/, "2")

# "a2"

पहला तर्क एक रेगुलर एक्सप्रेशन है, और इसे यहाँ शामिल करने के लिए बहुत कुछ है।

लेकिन यह एक पैटर्न-मिलान वाली भाषा . है ।

इस मामले में, \d संख्याओं की तलाश करता है, जैसे "a1" में संख्या "1"।

आप यह भी कर सकते हैं :

"a1".gsub(/(\w)(\d)/, '\2\1')

जिसका परिणाम होता है :

"1a"

हमने ऑर्डर बदल दिया!

यह "कैप्चर ग्रुप" नामक सुविधा का उपयोग करके काम करता है।

हम समूहों का उपयोग \1 . के रूप में कर सकते हैं पहले समूह के लिए, \2 दूसरे समूह के लिए, आदि।

कोष्ठक के साथ समूह बनाए जाते हैं।

ब्लॉक के साथ उन्नत Gsub

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

क्यों?

क्योंकि एक ब्लॉक के भीतर आप तर्क का उपयोग करके यह तय कर सकते हैं कि किसी चीज़ को कैसे बदला जाए।

स्थिर मान का उपयोग करने के बजाय।

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

"dog".gsub(/\w+/) { |animal| animal == "dog" ? "cat" : "dog" }

हम जानवर को \w+ . के साथ ढूंढते हैं , जिसका अर्थ है "एक या अधिक अक्षरांकीय वर्ण"।

फिर :

  • अगर यह "कुत्ता" है, तो हम इसे "बिल्ली" से बदल देते हैं
  • यदि शब्द और कुछ है , हम इसे "कुत्ते" से बदल देते हैं

स्थिर मान, gsub के दूसरे पैरामीटर के साथ इस तरह का तर्क संभव नहीं है।

एक से अधिक शब्दों को हैश से बदलें

यदि आपके पास हैश का उपयोग करने के लिए प्रतिस्थापन की एक सूची है।

इसे पसंद करें :

colors = {
  "B" => "blue",
  "G" => "green",
  "R" => "red"
}

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

यहां एक उदाहरण दिया गया है :

"BBBGR".gsub(/\w/, colors)

जिसका परिणाम होता है :

"bluebluebluegreenred"

सुनिश्चित करें कि आपका पहला तर्क कुंजियों से मेल खाएगा।

इस मामले में, \w अलग-अलग वर्णों से मेल खाता है, इसलिए यह "बी" से मेल खाएगा और फिर इसे "नीले" से बदल देगा।

सारांश

आपने रूबी में gsub विधि के बारे में सीखा है! यह एक शक्तिशाली तरीका है जो आपको स्ट्रिंग के अंदर वर्णों को बदलने या बदलने की अनुमति देता है।

इसके अनेक उपयोग हैं :

  • अवैध वर्णों को हटाना (दूसरे तर्क को एक खाली स्ट्रिंग बनाकर)
  • प्लेसहोल्डर और एक्रोनिम्स को उनके पूर्ण मानों से बदलना
  • स्ट्रिंग बदलने के लिए पैटर्न और तर्क का उपयोग करना

रूबी की Gsub विधि का उपयोग करने के 3 शानदार तरीके

अब इस पद्धति से अभ्यास करने की आपकी बारी है ताकि आप अपना नया ज्ञान बना सकें।

पढ़ने के लिए धन्यवाद


  1. रूबी ग्रेप विधि का उपयोग कैसे करें (उदाहरण के साथ)

    आइए बात करते हैं grep . के बारे में विधि। यह विधि आपके लिए क्या कर सकती है? आप ग्रेप का उपयोग एरेज़ और रेंज जैसी असंख्य वस्तुओं को फ़िल्टर करने के लिए कर सकते हैं। “लेकिन चुनें पहले से ही ऐसा करता है!” हां, लेकिन grep एक अलग तरीके से काम करता है और यह अलग परिणाम देता है। आइए कुछ उदाहरण देखें।

  1. रूबी मानचित्र विधि का उपयोग कैसे करें (उदाहरण के साथ)

    मैप एक रूबी विधि है जिसका उपयोग आप ऐरे, हैश और रेंज के साथ कर सकते हैं। मानचित्र का मुख्य उपयोग डेटा को ट्रांसफ़ॉर्म करना है। उदाहरण के लिए : स्ट्रिंग्स की एक सरणी को देखते हुए, आप प्रत्येक स्ट्रिंग पर जा सकते हैं और प्रत्येक वर्ण को अपरकेस बना सकते हैं। या यदि आपके पास User . की सूची है ऑब्जेक्

  1. रूबी में स्ट्रक्चर और ओपनस्ट्रक्चर का उपयोग कैसे करें?

    रूबी में स्ट्रक्चर क्या है? एक संरचना एक अंतर्निहित रूबी वर्ग है, इसका उपयोग नए वर्ग बनाने के लिए किया जाता है जो मूल्य वस्तुओं का उत्पादन करते हैं। संबंधित विशेषताओं को एक साथ संग्रहीत करने के लिए एक मूल्य वस्तु का उपयोग किया जाता है। यहां एक उदाहरण दिया गया है : एक Point दो निर्देशांकों के साथ