2013-06-07 7 views
14

में अतिरिक्त रिक्त स्थान हटाएं स्ट्रिंग जावास्क्रिप्ट

 this contains  spaces
this contains spaces
जावास्क्रिप्ट का उपयोग करके कौन सा फ़ंक्शन
 this contains  spaces
को बदल देगा?

मैंने इसी तरह के SO प्रश्नों का उपयोग करके निम्नलिखित की कोशिश की है, लेकिन यह काम करने के लिए नहीं मिल सका।

var string = " this contains spaces "; 

newString = string.replace(/\s+/g,''); // "thiscontainsspaces" 
newString = string.replace(/ +/g,''); //"thiscontainsspaces" 


प्रश्न जावास्क्रिप्ट पहलू पर अधिक ध्यान देना संपादित। क्या इसे पूरा करने के लिए एक सरल शुद्ध जावास्क्रिप्ट तरीका है?

+1

underscore.string का उपयोग करके देखें, इस तरह की कई साफ-अलग विधियां हैं जो आपकी मदद करेंगे, अंडरस्कोर की आवश्यकता नहीं है। – adrian

उत्तर

38

आप ही वाले हैं।

याद रखें कि replaceदूसरे तर्क के साथ मिले पाठ को प्रतिस्थापित करता है। तो:

newString = string.replace(/\s+/g,''); // "thiscontainsspaces" 

अनुक्रमिक रिक्त स्थान की किसी भी संख्या को ढूंढता है और उन्हें हटा देता है। बजाय उन्हें एक स्थान के साथ बदलने का प्रयास करें!

newString = string.replace(/\s+/g,' ').trim(); 
+0

धन्यवाद! यह समझ में आता है ... btw यह ट्रिम करने के लिए एक फ़ंक्शन गायब है (पहले और आखिरी एकल रिक्त स्थान) :) –

+2

सच है, लेकिन आप जानते हैं कि क्या करना है :) – Hamish

11
string.replace(/\s+/g, ' ').trim() 
4

मैं एक तरीका खोज निकाला है, लेकिन उत्सुक हूँ अगर वहाँ एक बेहतर तरीका है ...

string.replace(/\s+/g,' ').trim() 
+0

एक बाइट सरणी में कनवर्ट करें, मैन्युअल रूप से इसके माध्यम से पुनरारंभ करें और आउटपुट को एक नए बाइट सरणी में बदलें। नई सरणी को एक स्ट्रिंग में कनवर्ट करें .... बेहतर? – dlamblin

+0

यह शुद्ध जेएस है, jQuery नहीं। –

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