मेरे पास अतिरिक्त व्हाट्सएप के साथ तार हैं, हर बार केवल एक व्हाट्सएप से अधिक मैं चाहता हूं कि यह केवल एक ही हो।
किसी को? मैंने Google को खोजने की कोशिश की, लेकिन मेरे लिए कुछ भी काम नहीं किया।
धन्यवाद
मेरे पास अतिरिक्त व्हाट्सएप के साथ तार हैं, हर बार केवल एक व्हाट्सएप से अधिक मैं चाहता हूं कि यह केवल एक ही हो।
किसी को? मैंने Google को खोजने की कोशिश की, लेकिन मेरे लिए कुछ भी काम नहीं किया।
धन्यवाद
जवाबों:
कुछ इस तरह:
var s = " a b c ";
console.log(
s.replace(/\s+/g, ' ')
)
आप इन व्यवहारों को विधियों के रूप में लागू करने के लिए स्ट्रिंग को बढ़ा सकते हैं:
String.prototype.killWhiteSpace = function() {
return this.replace(/\s/g, '');
};
String.prototype.reduceWhiteSpace = function() {
return this.replace(/\s+/g, ' ');
};
अब यह आपको निम्नलिखित सुरुचिपूर्ण रूपों का उपयोग करने में सक्षम बनाता है, जो आप चाहते हैं कि तार का उत्पादन करें:
"Get rid of my whitespaces.".killWhiteSpace();
"Get rid of my extra whitespaces".reduceWhiteSpace();
बदलें समारोह के साथ एक नियमित अभिव्यक्ति का उपयोग कर चाल है:
string.replace(/\s/g, "")
var s = ' a b word word. word, wordword word ';
// with ES5:
s = s.split(' ').filter(function(n){ return n != '' }).join(' ');
console.log(s); // "a b word word. word, wordword word"
// or ES6:
s = s.split(' ').filter(n => n).join(' ');
console.log(s); // "a b word word. word, wordword word"
यह द्वारा स्ट्रिंग विभाजन व्हाइटस्पेस , उन्हें सरणी से सभी खाली सरणी आइटम (लोगों को जो एक स्थान की तुलना में अधिक थे) को हटाने, और एक स्ट्रिंग में फिर से सभी शब्दों को मिलती है, उन दोनों के बीच में एक भी सफेद स्थान के साथ।
मुझे लगता है कि आप स्ट्रिंग की शुरुआत और / या अंत से रिक्त स्थान देख रहे हैं (बजाय सभी रिक्त स्थान को हटाने के ?
अगर ऐसा है, तो आपको इस तरह एक regex की आवश्यकता होगी:
mystring = mystring.replace(/(^\s+|\s+$)/g,' ');
यह स्ट्रिंग की शुरुआत या अंत से सभी रिक्त स्थान को हटा देगा। यदि आप केवल अंत से रिक्त स्थान को ट्रिम करना चाहते हैं, तो रेगेक्स इस तरह दिखाई देगा:
mystring = mystring.replace(/\s+$/g,' ');
उम्मीद है की वो मदद करदे।
''
बजाय होना चाहिए ' '
।
jQuery.trim () अच्छा काम करता है।
मुझे पता है कि मुझे किसी विषय पर नेक्रोमेंसी नहीं करनी चाहिए, लेकिन प्रश्न का विवरण देते हुए, मैं आमतौर पर इसका मतलब करने के लिए विस्तार करता हूं:
इसके लिए, मैं इस तरह कोड का उपयोग करता हूं (पहले regexp पर कोष्ठक कोड को थोड़ा अधिक पठनीय बनाने के लिए बस वहां हैं ... regexps एक दर्द हो सकता है जब तक कि आप उनसे परिचित न हों):
s = s.replace(/^(\s*)|(\s*)$/g, '').replace(/\s+/g, ' ');
इसका कारण यह है कि स्ट्रिंग-ऑब्जेक्ट पर विधियाँ एक स्ट्रिंग ऑब्जेक्ट लौटाती हैं, जिस पर आप किसी अन्य विधि (जैसे jQuery और कुछ अन्य लाइब्रेरी) को लागू कर सकते हैं। यदि आप उत्तराधिकार में किसी एकल ऑब्जेक्ट पर कई विधियों को निष्पादित करना चाहते हैं तो कोड के लिए अधिक कॉम्पैक्ट तरीका।
var x = "टेस्ट टेस्ट टेस्ट" .plplit ("") .join (""); चेतावनी (x);
इसे इस्तेमाल करे।
var string = " string 1";
string = string.trim().replace(/\s+/g, ' ');
परिणाम होगा
string 1
यहाँ क्या हुआ है कि यह बाहर के रिक्त स्थान को पहले ट्रिम करेगा trim()
फिर उपयोग करके अंदर के रिक्त स्थान को ट्रिम कर देगा .replace(/\s+/g, ' ')
।
यदि आप उपयोगकर्ता को नाम में रिक्त स्थान देने के लिए प्रतिबंधित करना चाहते हैं तो बस एक स्टेटमेंट बनाएं और शर्त दें। जैसे मैंने किया:
$j('#fragment_key').bind({
keypress: function(e){
var key = e.keyCode;
var character = String.fromCharCode(key);
if(character.match( /[' ']/)) {
alert("Blank space is not allowed in the Name");
return false;
}
}
});
इसके बारे में क्या खयाल है?
"my test string \t\t with crazy stuff is cool ".replace(/\s{2,9999}|\t/g, ' ')
आउटपुट "my test string with crazy stuff is cool "
यह किसी भी टैब से छुटकारा दिलाता है
\s
। अनावश्यक रूप से जटिल रेगेक्स, शायद ही लिख सकते हैं /\s+/g
।