Clojure:
स्ट्रिंग से उद्धरण चिह्न हटाना
कैसे करें:
क्लॉजर में, स्ट्रिंग्स अपरिवर्तनीय होती हैं, इसलिए जब हम “कोट्स हटाने” की बात करते हैं, तो हम वास्तव में कोट्स के बिना एक नई स्ट्रिंग बनाने की बात कर रहे हैं। यहाँ clojure.string/replace
का उपयोग करते हुए तरीका दिया गया है:
(require '[clojure.string :as str])
; चलिए उन डबल कोट्स को छोड़ देते हैं
(defn remove-double-quotes [s]
(str/replace s #"\"" ""))
; और सिंगल कोट्स को बाहर निकाल दें
(defn remove-single-quotes [s]
(str/replace s #"\'" ""))
; नमूना उपयोग:
(remove-double-quotes "\"Hello, World!\"") ; => "Hello, World!"
(remove-single-quotes "'Hello, World!'") ; => "Hello, World!"
एक ही झटके में सिंगल और डबल कोट्स दोनों को संभालना चाहते हैं? इसे देखें:
(defn remove-quotes [s]
(str/replace s #"[\"\']" ""))
; नमूना उपयोग:
(remove-quotes "\"Hello, 'Clojure' World!\"") ; => "Hello, Clojure World!"
गहराई से अध्ययन
पहले के दिनों में जब डाटा एक बच्चे के कमरे से ज्यादा अस्त-व्यस्त होता था, स्ट्रिंग्स में कोट्स पाठ को दर्शाने के लिए सामान्य थे। लेकिन जैसे-जैसे कंप्यूटर विज्ञान विकसित हुआ, कोट्स केवल पाठ सीमांकक से अधिक हो गए - उन्होंने प्रोग्रामिंग भाषाओं में वाक्यात्मक भूमिकाएँ अपना लीं।
क्लॉजर, अपनी लिस्प विरासत के साथ, कोट्स का उपयोग कुछ अन्य भाषाओं के समान नहीं करता है। निश्चित रूप से, वे स्ट्रिंग्स को दर्शाने के लिए उपयोग किए जाते हैं, लेकिन उनकी साहित्यिक बनाने में भी एक विशेष भूमिका होती है। फिर भी, स्ट्रिंग्स से कोट्स हटाना एक अनन्त कार्य बना हुआ है।
केवल स्ट्रिंग के अंत को क्यों नहीं काटते? खैर, यह मानना है कि आपके कोट्स हमेशा आपके स्ट्रिंग के शुरुआत और अंत को गले लगाए रखते हैं, जैसे कि बहुत ज्याद स्नेह दिखाने वाले दादा-दादी। वास्तविक दुनिया का डाटा अधिक गड़बड़ होता है। यहाँ रेजेक्स (नियमित अभिव्यक्तियाँ) आता है, जो आपको उन कोट्स को निशाना बनाने देता है, चाहे वे कहीं भी छुपे हों।
विकल्प? निश्चित रूप से, आप subs
, trim
, triml
, trimr
, या यहाँ तक कि ट्रांसड्यूसर के साथ फैंसी हो सकते हैं, अगर आप शो ऑफ करना चाहते हैं। लेकिन रेजेक्स के साथ replace
जैसे चाकू की लड़ाई में लाइटसेबर लाने जैसा है - यह सीधे मुद्दे पे पहुँचता है।
और देखें
अगर आपका मस्तिष्क क्लॉजर स्ट्रिंग मैनिपुलेशन की अच्छाई के लिए और अधिक खुजली कर रहा है, तो ये ब्रेडक्रम्ब आपकी मदद कर सकते हैं:
clojure.string/replace
पर क्लोजर डॉक्स: https://clojuredocs.org/clojure.string/replace- क्लॉजर में नियमित अभिव्यक्तियाँ: https://clojure.org/guides/learn/syntax#_regex
- स्ट्रिंग हैंडलिंग के लिए जावा इंटरॉप (आखिरकार क्लॉजर जेवीएम पर चलता है): https://clojure.org/reference/java_interop#_working_with_strings
केवल कोट्स हटाने पर ही न रुकें। क्लॉजर-लैंड में स्ट्रिंग जादूगरी की एक पूरी दुनिया है जिसकी खोज की जानी बाकी है।