पाठ प्रतिस्थापित करना
ReplaceAll पैटर्न
पाठ प्रतिस्थापित करना, CoddyKit पर Go Academy का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Go Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Go Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
पैटर्न-आधारित प्रतिस्थापन
रेगुलर एक्सप्रेशन केवल खोजने के लिए नहीं, बल्कि पाठ को दोबारा लिखने के लिए भी उपयोग किए जा सकते हैं। ReplaceAllString हर मिलान को किसी प्रतिस्थापन स्ट्रिंग से बदलता है।
package main
import (
"fmt"
"regexp"
)
func main() {
re := regexp.MustCompile("[0-9]+")
fmt.Println(re.ReplaceAllString("a1b2c3", "#"))
}पूरे शब्दों को बदलना
cat|dog जैसा पैटर्न आपको एक ही चरण में कई विकल्पों को बदलने देता है।
package main
import (
"fmt"
"regexp"
)
func main() {
re := regexp.MustCompile("cat|dog")
fmt.Println(re.ReplaceAllString("my cat and dog", "pet"))
}रिक्त स्थान समेटना
सफ़ाई का एक सामान्य कार्य है: \s+ का उपयोग करके रिक्त स्थानों के लगातार समूहों को एकल स्पेस से बदलना।
package main
import (
"fmt"
"regexp"
)
func main() {
re := regexp.MustCompile("\\s+")
fmt.Println(re.ReplaceAllString("too many spaces", " "))
}समूहों का संदर्भ देना
प्रतिस्थापन में $1 पहला कैप्चर समूह और $2 दूसरा समूह डालता है। इससे मिले हुए भागों का क्रम बदला जा सकता है।
package main
import (
"fmt"
"regexp"
)
func main() {
re := regexp.MustCompile("(\\d+)-(\\d+)")
fmt.Println(re.ReplaceAllString("12-34", "$2-$1"))
}नामित समूह संदर्भ
नामित समूहों के साथ स्पष्टता के लिए आप प्रतिस्थापन में ${name} का उपयोग कर सकते हैं।
package main
import (
"fmt"
"regexp"
)
func main() {
re := regexp.MustCompile("(?P<y>\\d{4})-(?P<m>\\d{2})")
fmt.Println(re.ReplaceAllString("2026-05", "${m}/${y}"))
}सुरक्षित ब्रेसिज़
जब समूह संदर्भ के बाद पाठ आता है, तब ${1} ब्रेसिज़ का उपयोग करें, ताकि $1 को किसी लंबे नाम के साथ भ्रमित न किया जाए।
package main
import (
"fmt"
"regexp"
)
func main() {
re := regexp.MustCompile("(\\d+)")
fmt.Println(re.ReplaceAllString("7", "${1}px"))
}शाब्दिक प्रतिस्थापन
ReplaceAllLiteralString $ संदर्भों को अनदेखा करता है और प्रतिस्थापन को ठीक उसी रूप में डालता है, जैसा वह लिखा गया है।
package main
import (
"fmt"
"regexp"
)
func main() {
re := regexp.MustCompile("[0-9]+")
fmt.Println(re.ReplaceAllLiteralString("a1", "$money"))
}फ़ंक्शन से प्रतिस्थापित करना
ReplaceAllStringFunc प्रत्येक मिलान के लिए आपके फ़ंक्शन को कॉल करता है और वह जो लौटाता है, उसे प्रतिस्थापित कर देता है। इससे परिकलित प्रतिस्थापन संभव होते हैं।
package main
import (
"fmt"
"regexp"
"strings"
)
func main() {
re := regexp.MustCompile("[a-z]+")
out := re.ReplaceAllStringFunc("go is fun", strings.ToUpper)
fmt.Println(out)
}परिकलित प्रतिस्थापन
फ़ंक्शन के भीतर आप प्रत्येक मिलान को अपनी इच्छानुसार बदल सकते हैं; यहाँ प्रत्येक मिले हुए अंक-समूह को उसके चारों ओर लपेटकर दोहराया गया है।
package main
import (
"fmt"
"regexp"
)
func main() {
re := regexp.MustCompile("[0-9]+")
out := re.ReplaceAllStringFunc("id5 and id9", func(m string) string {
return "<" + m + ">"
})
fmt.Println(out)
}संवेदनशील डेटा को छिपाना
एक व्यावहारिक उपयोग: लॉगिंग से पहले संख्याओं को, जैसे कार्ड-जैसे अंक-समूहों को, छिपा दें।
package main
import (
"fmt"
"regexp"
)
func main() {
re := regexp.MustCompile("\\d{4}")
fmt.Println(re.ReplaceAllString("card 1234 5678", "****"))
}बाइट्स पर काम करना
ReplaceAll जैसे बाइट-स्लाइस वाले रूप भी मौजूद हैं, जो बाइनरी या बफ़र डेटा के लिए स्ट्रिंग विधियों के अनुरूप काम करते हैं।
package main
import (
"fmt"
"regexp"
)
func main() {
re := regexp.MustCompile("[0-9]+")
out := re.ReplaceAll([]byte("a1b2"), []byte("#"))
fmt.Println(string(out))
}त्वरित जाँच
आप प्रतिस्थापन स्ट्रिंग में पहले कैप्चर समूह को कैसे डालते हैं?
पुनरावलोकन: पाठ प्रतिस्थापित करना
आपने पाठ को फिर से लिखना सीखा:
ReplaceAllStringमिलानों को बदलता है;$1/${name}समूहों का संदर्भ देते हैं।ReplaceAllLiteralStringविस्तार को छोड़ देता है।ReplaceAllStringFuncप्रत्येक प्रतिस्थापन की गणना करता है।
package main
import (
"fmt"
"regexp"
)
func main() {
re := regexp.MustCompile("(\\w+)\\s(\\w+)")
fmt.Println(re.ReplaceAllString("Ada Lovelace", "$2, $1"))
}एआई शिक्षक के साथ Go सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 51
- पाठ
- 203
अक्सर पूछे जाने वाले प्रश्न
क्या “पाठ प्रतिस्थापित करना” पाठ निःशुल्क है?
हाँ — Go Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “पाठ प्रतिस्थापित करना” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Go Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“पाठ प्रतिस्थापित करना” में मैं क्या सीखूँगा?
ReplaceAll पैटर्न आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Go Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Go Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Go Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।
“पाठ प्रतिस्थापित करना” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Go Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Go Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- regexp की मूल बातें
- खोजना और निकालना
- पाठ प्रतिस्थापित करना
- प्रदर्शन सुझाव