Ich möchte das Leerzeichen entfernen, das am Anfang der Zeichenfolge vorhanden ist. Es sollte nur das Leerzeichen am Anfang der Zeichenfolge entfernt werden, andere Leerzeichen sollten dort sein.
var string=' This is test';
Benutzer1851420
Ich möchte das Leerzeichen entfernen, das am Anfang der Zeichenfolge vorhanden ist. Es sollte nur das Leerzeichen am Anfang der Zeichenfolge entfernt werden, andere Leerzeichen sollten dort sein.
var string=' This is test';
Stefan Steiger
Das ist, was du willst:
function ltrim(str) {
if(!str) return str;
return str.replace(/^\s+/g, '');
}
Auch für normales Trimmen in IE8+:
function trimStr(str) {
if(!str) return str;
return str.replace(/^\s+|\s+$/g, '');
}
Und zum Trimmen der rechten Seite:
function rtrim(str) {
if(!str) return str;
return str.replace(/\s+$/g, '');
}
Oder als Polyfill:
// for IE8
if (!String.prototype.trim)
{
String.prototype.trim = function ()
{
// return this.replace(/^\s+|\s+$/g, '');
return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
};
}
if (!String.prototype.trimStart)
{
String.prototype.trimStart = function ()
{
// return this.replace(/^\s+/g, '');
return this.replace(/^[\s\uFEFF\xA0]+/g, '');
};
}
if (!String.prototype.trimEnd)
{
String.prototype.trimEnd = function ()
{
// return this.replace(/\s+$/g, '');
return this.replace(/[\s\uFEFF\xA0]+$/g, '');
};
}
Notiz:
\s: Enthält Leerzeichen, Tabulatoren \t, Zeilenumbrüche \n und einige andere seltene Zeichen wie \v, \f und \r.
\uFEFF: Unicode-Zeichen „ZERO WIDTH NO-BREAK SPACE“ (U+FEFF)
\xA0: ASCII 0xA0 (160: geschütztes Leerzeichen) wird nicht als Leerzeichen erkannt
kannst du bitte /^\s+|\s+$/g erklären
– vikramvi
31. Mai 2019 um 10:02 Uhr
Vielen Dank ! Es ist auch jetzt noch nützlich 🙂
– Sox-
27. Juni 2019 um 14:02 Uhr
@vikramvi: Es ist ein Regex-Muster (RegEx: Regulärer Ausdruck): Ein oder mehrere Leerzeichen am Anfang der Zeile oder ein oder mehrere Leerzeichen am Ende der Zeile. ^ bedeutet Zeilenanfang, $ bedeutet Zeilenende, \ ist Escape-Sequenz, \s bedeutet “Leerzeichen”, \s+ bedeutet ein oder mehrere Leerzeichen.
– Stefan Steiger
20. September 2019 um 9:35 Uhr
warum das /g ? Wenn wir nur am Anfang wollen, während Sie mehrere Ersetzungen vornehmen?
– Garr Godfrey
18. November 2020 um 3:48 Uhr
@Garr Godfrey: Wahrscheinlich, weil ich es von trim kopiert habe, was es braucht (andernfalls entfernt es nur den Leerraum am Anfang der Zeichenfolge. Abgesehen von der Leistung sollte es keine nachteiligen Auswirkungen auf ltrim und rtrim haben.
– Stefan Steiger
18. November 2020 um 12:14 Uhr
Rajaprabhu Aravindasamy
Versuchen Sie, Javascript zu verwenden trim()
Funktion, Im Grunde entfernt es die führenden und nachgestellten Leerzeichen aus einer Zeichenfolge.
var string=' This is test';
string = string.trim();
Um die Abwärtskompatibilität des Browsers zu erreichen, verwenden Sie gemäß der Konversation im Kommentarbereich einfach jquery’s $.trim(str)
var string=' This is test';
string = $.trim(string)
Beachten Sie nur: trim
wird im IE9+-Browser unterstützt developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
– Satpal
18. Juni 2014 um 9:43 Uhr
Hinweis: Die Methode trim() wird in Internet Explorer 8 und früheren Versionen nicht unterstützt.
– Softwareentwickler
18. Juni 2014 um 9:44 Uhr
Hier möchte ich nur den Platz entfernen, der am Anfang der Zeichenfolge verfügbar ist
– Benutzer1851420
18. Juni 2014 um 9:49 Uhr
Sie können String.prototype.trimStart() verwenden. So was:
myString=myString.trimStart();
Wenn Sie den Schwanz trimmen möchten, können Sie Folgendes verwenden:
myString=myString.trimEnd();
Beachten Sie, dass diese 2 Funktionen im IE nicht unterstützt werden. Für IE müssen Sie Polyfills für sie verwenden.
das ist wirklich erstaunlich
– Àtischking
22. April 2020 um 12:23 Uhr
Du solltest benutzen Javascript-Trimmfunktion
var str = " Hello World! ";
alert(str.trim());
Diese Funktion kann auch Leerzeichen am Ende der Zeichenfolge entfernen.
.trimLeft()
kann dafür verwendet werden.
const str = " string ";
console.log(str.trimLeft()); // => "string "
hungrigWolf
Nur eine andere und nicht so effiziente Methode
var str = " My string";
function trim() {
var stringStarted = false;
var newString = "";
for (var i in str) {
if (!stringStarted && str[i] == " ") {
continue;
}
else if (!stringStarted) {
stringStarted = true;
}
newString += str[i];
}
return newString;
}
console.log(trim(str));
Ich bin mir wirklich sicher, dass dies für nichts anderes funktioniert und nicht die optimalste Lösung ist, aber das ist mir gerade in den Sinn gekommen
Nathan Champion
Einfachste Lösung: (ES10 Feature trimStart())
var string= 'This is a test';
console.log(string.trimStart());
Es gibt keine solche benannte Methode trimStrat
es ist trimStart
eher.
– Nithisch
13. Juni 2020 um 6:10 Uhr
@NithishGandesiri Tippfehler Bruder. Danke für die Korrektur.
– Shahnewaj Soumikh
14. Juni 2020 um 13:55 Uhr
JavaScript hat jetzt
trimStart()
undtrimEnd()
. developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/… • developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…– Seitenschaubarker
9. April 2021 um 7:12 Uhr