834 Stimmen

ALLE Leerzeichen aus dem Text entfernen

$("#topNav" + $("#breadCrumb2nd").text().replace(" ", "")).addClass("current");

Dies ist ein Schnipsel aus meinem Code. Ich möchte eine Klasse zu einer ID hinzufügen, nachdem ich die Texteigenschaft einer anderen ID erhalten habe. Das Problem dabei ist, dass die ID, die den Text enthält, den ich brauche, Lücken zwischen den Buchstaben enthält.

Ich möchte, dass die Leerzeichen entfernt werden. Ich habe versucht TRIM()REPLACE() aber das funktioniert nur teilweise. Die REPLACE() wird nur das 1. Leerzeichen entfernt.

1849voto

Flimzy Punkte 67383

Sie müssen replace() anweisen, die Regex zu wiederholen:

.replace(/ /g,'')

El g Zeichen macht es zu einer "globalen" Übereinstimmung, d.h. die Suche wird in der gesamten Zeichenfolge wiederholt. Lesen Sie mehr über diese und andere RegEx-Modifikatoren in JavaScript ici .

Wenn Sie alle Leerzeichen abgleichen wollen und nicht nur das Leerzeichen selbst, verwenden Sie \s stattdessen:

.replace(/\s/g,'')

Sie können auch Folgendes verwenden .replaceAll wenn Sie eine ausreichend aktuelle Version von JavaScript verwenden, aber für Ihren speziellen Anwendungsfall gibt es keinen Grund dafür, da das Abfangen von todo Leerzeichen erfordert einen Regex, und bei Verwendung eines Regex mit .replaceAll muss es global sein, so dass Sie am Ende nur zusätzliche Eingaben machen müssen:

.replaceAll(/\s/g,'')

43 Stimmen

Coffeescript beschwert sich aus unerfindlichen Gründen über diese Regex. Stattdessen musste ich weitergehen und mit .replace(/\s+/g, '') was für mich völlig in Ordnung ist.

363voto

Pantelis Punkte 5934
.replace(/\s+/, "") 

Ersetzt die nur erstes Leerzeichen Dies schließt Leerzeichen, Tabulatoren und neue Zeilen ein.

Um alle Leerzeichen in der Zeichenkette zu ersetzen, müssen Sie den globalen Modus verwenden

.replace(/\s/g, "")

37voto

camillo777 Punkte 1811

Jetzt können Sie "replaceAll" verwenden:

console.log(' a b    c d e   f g   '.replaceAll(' ',''));

wird gedruckt:

abcdefg

Aber nicht in allen möglichen Browsern funktioniert es:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replaceAll

4 Stimmen

Ich habe auch festgestellt, dass die replaceAll Methode läuft fast doppelt so schnell wie die Regex-Lösungen. Das ist zwar nicht wirklich von Bedeutung, es sei denn, Sie haben es mit extrem großen Mengen zu tun, aber es ist einfach gut zu wissen.

24voto

ßãlãjî Punkte 6434

Regex zum Entfernen von Leerzeichen

\s+

var str = "Visit Microsoft!";
var res = str.replace(/\s+/g, "");
console.log(res);

o

[ ]+

var str = "Visit Microsoft!";
var res = str.replace(/[ ]+/g, "");
console.log(res);

Entfernen aller Leerzeichen am Anfang der Zeichenkette

^[ ]+

var str = "    Visit Microsoft!";
var res = str.replace(/^[ ]+/g, "");
console.log(res);

alle Leerzeichen am Ende der Zeichenkette entfernen

[ ]+$

var str = "Visit Microsoft!      ";
var res = str.replace(/[ ]+$/g, "");
console.log(res);

    var mystring="fg gg";
   console.log(mystring.replaceAll(' ',''))

11voto

SAKIB Punkte 219

** 100% funktionierend

verwenden. replace(/ +/g,'_') :

let text = "I     love you"
text = text.replace( / +/g, '_') // replace with underscore ('_')

console.log(text) // I_love_you

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X