जावास्क्रिप्ट में ":" से पहले एक स्ट्रिंग का हिस्सा कैसे निकालना है?


111

अगर मेरे पास एक स्ट्रिंग है Abc: Lorem ipsum sit amet, तो मैं कैसे :शामिल करने से पहले स्ट्रिंग को हटाने के लिए जावास्क्रिप्ट / jQuery का उपयोग कर सकता हूं :। उदाहरण के लिए उपरोक्त स्ट्रिंग बन जाएगा Lorem ipsum sit amet:।


2
मैंने जावास्क्रिप्ट टैग जोड़ा क्योंकि यह प्रश्न में है और प्रश्न की तुलना में अधिक प्रासंगिक है।
स्पडली 22

जवाबों:


290

यहाँ jQuery की कोई आवश्यकता नहीं है, नियमित जावास्क्रिप्ट करेंगे:

var str = "Abc: Lorem ipsum sit amet";
str = str.substring(str.indexOf(":") + 1);

या, .split()और .pop()संस्करण:

var str = "Abc: Lorem ipsum sit amet";
str = str.split(":").pop();

या, रेगेक्स संस्करण (इसके कई संस्करण):

var str = "Abc: Lorem ipsum sit amet";
str = /:(.+)/.exec(str)[1];

1
शानदार उत्तर, मैं अलग-अलग समाधानों से प्यार करता हूं
अद्र्वार्क

22
ध्यान दें कि यदि :स्ट्रिंग में एक से अधिक है , तो दूसरा वेरिएंट दूसरों की तरह पहले के बजाय पिछले एक के बाद स्ट्रिंग लौटाएगा । यह दुर्भाग्यपूर्ण है कि जेएस की split()विधि में विभाजित-केवल-एन-बार विकल्प नहीं है , जो आपको पायथन-शैली करने की अनुमति देगा .split(':', 1)[1]। (वहाँ है एक वैकल्पिक numberतर्क है, लेकिन यह क्या किसी भी उचित व्यक्ति उम्मीद होती है नहीं करता है।)
bobince

@bobince - आप सही हैं, मैं यहाँ एक धारणा बना रहा हूँ कि उसके पास एक सुसंगत label: somethingप्रारूप है, अगर ऐसा नहीं होता तो मैं पहले विकल्प के साथ जाता।
निक Craver

2
आप विभाजक के आधार पर कुछ तत्वों को छोड़ने के लिए विभाजित और जुड़ सकते हैं। "Abc:Lorem_ipsum_sit_amet".split(':').slice(1).join('.');
अमृतेश आनंद
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.