जावास्क्रिप्ट के साथ एक स्ट्रिंग से दोहरे उद्धरण चिह्नों के बीच पाठ निकालने का तरीका जानें।
मान लें कि आप टेक्स्ट ब्लॉक से कुछ उद्धृत टेक्स्ट प्राप्त करना चाहते हैं। उद्धरण आमतौर पर दोहरे उद्धरण चिह्नों द्वारा लपेटे जाते हैं (" "
) कोई बात नहीं, आप JavaScript के match()
. का उपयोग कर सकते हैं विधि और कुछ RegEx जादू।
यहां एक टेक्स्ट ब्लॉक (स्ट्रिंग वैल्यू) है, जिसमें एक डबल-उद्धृत वाक्य है, जिसे हम textWithQuote
नामक एक वेरिएबल को असाइन करते हैं। :
const textWithQuote =
'One of my favorite quotes is "First we make our habits, then our habits make us". This quote is sometimes attributed to John Dryden, or other authors.'
अब match()
संलग्न करते हैं चर के लिए विधि और इसे कुछ हद तक अस्पष्ट दिखने वाला तर्क पास करें /(?:"[^"]*"|^[^"]*$)/)[0].replace(/"/g, ""
(क्षमा करें):
const extractQuote = textWithQuote
.match(/(?:"[^"]*"|^[^"]*$)/)[0]
.replace(/"/g, "")
और परिणाम प्रिंट करें:
console.log(extractQuote)
// "First we make our habits, then our habits make us"
जिस कारण से हम [0]
का उपयोग करते हैं यह है कि अन्यथा लौटाई गई स्ट्रिंग को डुप्लिकेट किया गया है। [0]
. का उपयोग करके हम निर्दिष्ट करते हैं कि हम केवल पहला (एक) परिणाम लौटाना चाहते हैं।
जिस कारण से हम replace()
. का उपयोग करते हैं विधि (.replace(/"/g, "")
) यह है कि अन्यथा, दिए गए परिणाम में अतिरिक्त उद्धरण होंगे (क्योंकि हम एक स्ट्रिंग के अंदर उद्धृत पाठ लौटा रहे हैं जिसमें पहले से ही उद्धरण हैं)।
split()
का उपयोग कर एक वैकल्पिक विधि
आप split()
. का उपयोग करके दोहरा-उद्धृत टेक्स्ट मान भी प्राप्त कर सकते हैं विधि:
const textWithQuote =
'One of my favorite quotes is "First we make our habits, then our habits make us". This quote is sometimes attributed to John Dryden, or other authors.'
console.log(textWithQuote.split('"')[1])
// "First we make our habits, then our habits make us"
इस मामले में, हमें यह निर्दिष्ट करना होगा कि हम दूसरा परिणाम [1]
return वापस करना चाहते हैं क्योंकि [0]
वापस आ जाएगा One of my favorite quotes is
।
यदि आप [2]
. निर्दिष्ट करते हैं , आपको दूसरे "
. के ठीक बाद निम्नलिखित टेक्स्ट मिलेगा दोहरा उद्धरण।
मुझे यकीन नहीं है कि किसी भी विधि का उपयोग कब करना है और इसके पेशेवरों और विपक्ष क्या हैं, क्योंकि मैंने हाल ही में नियमित अभिव्यक्तियों के विषय पर गहराई से जाना शुरू किया है।