2012-05-22 15 views
9

के साथ एक स्ट्रिंग में रिक्त स्थान को प्रतिस्थापित करना मेरे पास एक स्ट्रिंग है और मुझे इसे किसी क्वेरी में जोड़ने के लिए इसे ठीक करने की आवश्यकता है।हाइफ़न

मैं स्ट्रिंग "हर अवसर के लिए एक टोकरी" है कहते हैं और मैं इसे होने के लिए "एक-टोकरी-लिए-हर-अवसर"

मैं एक अंतरिक्ष खोजने के लिए और एक हाइफन से बदलने की जरूरत है चाहता हूँ। फिर, मुझे यह जांचने की ज़रूरत है कि स्ट्रिंग में कोई और जगह है या नहीं। यदि नहीं, तो निश्चित स्ट्रिंग को वापस करें। यदि ऐसा है, तो एक ही प्रक्रिया फिर से चलाएं।

मुझे एक पुनरावर्ती समारोह की तरह लगता है लेकिन मुझे यकीन नहीं है कि इसे कैसे सेट अप करें। किसी भी तरह की सहायता का स्वागत किया जाएगा।

उत्तर

15

आप इस तरह एक regex प्रतिस्थापन का उपयोग कर सकते हैं:

var str = "A Basket For Every Occasion"; 
str = str.replace(/\s/g, "-"); 

regex में "जी" झंडा सभी रिक्त स्थान की जगह पाने के लिए कारण होगा।


आप एक ही हाइफ़न में एकाधिक रिक्त स्थान को पतन करना चाहते हैं ताकि आप पंक्ति में एकाधिक डैश के साथ समाप्त न हों। यही कारण है कि इस प्रकार दिखाई देगा:

var str = "A Basket For Every Occasion"; 
str = str.replace(/\s+/g, "-"); 
+0

सही धन्यवाद। 8 मिनट में स्वीकार करेगा जब यह मुझे –

+0

@Tamil - मुझे आपकी टिप्पणी समझ में नहीं आता है। ओपी स्पष्ट रूप से वैश्विक regex प्रतिस्थापन के बारे में नहीं पता था, इसलिए मैं उन्हें उस पर शिक्षित कर रहा था और उन्हें दिखा रहा था कि यह कैसे काम करता है जो एसओ की भावना में और भविष्य के दर्शकों के लाभ के लिए है)। इसके अलावा मैंने एक सुधार विचार पेश किया जो एक पंक्ति में कई डैश को रोक देगा। आपको कैसे लगता है कि इस प्रश्न का उत्तर दिया जाना चाहिए था? – jfriend00

+0

@ jfriend00 मुझे खेद है कि अगर मैंने कुछ गलत किया था लेकिन आप उससे पूछ सकते थे कि क्या उसने अभी तक एक ही ओपी पर कुछ भी करने की कोशिश की है। यहां से अन्य वह सो के बारे में सोचना होगा अगली पल वह किसी समस्या के बारे में सोचता है बल्कि इसे हल करने की कोशिश करता है। – Tamil

6

उपयोग की जगह और व्हाइटस्पेस \s विश्व स्तर पर (झंडा छ) के लिए लगता है

var a = "asd asd sad".replace(/\s/g,"-"); 

एक

"asd-asd-sad" 
+1

ऊपर उठाया गया। धन्यवाद। हालांकि मित्र ने उत्तर दिया –

4

हो जाता है की कोशिश करो

value = value.split(' ').join('-'); 

मैं जी के लिए इसका इस्तेमाल किया और मेरी जगहों से छुटकारा पाएं। हाइफ़न के बजाय मैंने इसे खाली कर दिया और बहुत अच्छा काम करता है। यह सब जेएस भी है। .split(limiter) limiter को हटा देगा और स्ट्रिंग टुकड़े को सरणी में रखेगा (बिना लिमिटर तत्वों के साथ) तो आप हाइफ़न के साथ सरणी में शामिल हो सकते हैं।

संबंधित मुद्दे