Was ist das JavaScript- Äquivalent zu dieser C#
Methode:
var x = "|f|oo||";
var y = x.Trim('|'); // "f|oo"
C # schneidet das ausgewählte Zeichen nur am Anfang und Ende der Zeichenfolge ab!
javascript
string
trim
Fubo
quelle
quelle
Sie können einen regulären Ausdruck verwenden, z.
AKTUALISIEREN:
Wenn Sie dies in eine Funktion verallgemeinern möchten, können Sie Folgendes tun:
quelle
um diese Frage auf dem neuesten Stand zu halten:
Hier ist ein Ansatz, den ich mit dem ES6-Spread-Operator gegenüber der Regex-Funktion wählen würde.
Verbesserte Version nach @fabians Kommentar (kann nur Zeichenfolgen verarbeiten, die dasselbe Zeichen enthalten)
quelle
[].concat(string)
das, was nicht das gewünschte Ergebnis ist. VerwendenArray.from(string)
wird funktionieren.Eine Version ohne Regex, die das Auge schont:
Für Anwendungsfälle, in denen wir sicher sind, dass sich die Zeichen an den Rändern nicht wiederholen.
quelle
const trim = (str, chars) => str.split(chars).filter(x => { Boolean(x); console.log(typeof(x), x, Boolean(x)); }).join(chars); const str = "#//#//abc#//test#//end#//"; console.log(trim(str, '#//'));
Wenn Sie mit längeren Zeichenfolgen arbeiten, sollte dies meiner Meinung nach die meisten anderen Optionen übertreffen, indem Sie die Anzahl der zugewiesenen Zeichenfolgen auf null oder eins reduzieren:
Oder wenn Sie aus mehreren Zeichen schneiden möchten:
BEARBEITEN: Zum Spaß schneiden Sie Wörter (anstatt einzelne Zeichen)
quelle
Dies kann mehrere Zeichen gleichzeitig kürzen:
quelle
Wenn Sie diese Funktionen in Ihrem Programm definieren, verfügen Ihre Zeichenfolgen über eine aktualisierte Version
trim
, mit der alle angegebenen Zeichen gekürzt werden können:Quelle
https://www.sitepoint.com/trimming-strings-in-javascript/
quelle
Meines Wissens hat jQuery keine eingebaute Funktion, nach der Sie fragen. Mit Javascript können Sie jedoch einfach Ersetzen verwenden, um den Inhalt Ihrer Zeichenfolge zu ändern:
Dies ersetzt alle Vorkommen von | mit nichts.
quelle
$
für nur am Ende:"||spam|||".replace(/\|+$/g, "")
oder eine solche^
für nur am Anfang:"||spam|||".replace(/^\|+/g, "")
Dieser schneidet alle führenden und nachfolgenden Begrenzer ab
quelle
Ich würde vorschlagen, sich lodash anzuschauen und wie sie das umgesetzt haben
trim
Funktion .Die Dokumentation und die Quelle finden Sie unter Lodash Trim Trimmen, um den genauen Code für das Trimmen .
Ich weiß, dass dies keine genaue Antwort auf Ihre Frage liefert, aber ich denke, es ist gut, auf eine solche Frage einen Verweis auf eine Bibliothek zu setzen, da andere dies möglicherweise nützlich finden.
quelle
Der beste Weg, um diese Aufgabe zu lösen, ist (ähnlich wie bei der PHP-
trim
Funktion):PS: Warum habe ich meine Antwort gepostet, als die meisten Leute es schon einmal gemacht haben? Da ich in allen Antworten "den besten" Fehler gefunden habe: Alle haben das '+' - Meta anstelle von '*' verwendet. Die Ursache
trim
muss Zeichen entfernen, WENN SIE STARTEN UND / ODER ENDEN. In anderen Fällen wird jedoch die ursprüngliche Zeichenfolge zurückgegeben .quelle
Hier ist eine Antwort, die mehrere Zeichen annehmen kann:
quelle
Ich mag die Lösung von @ Pho3niX83 ...
Erweitern wir es mit "Wort" anstelle von "Zeichen" ...
quelle
quelle
(Beachten Sie das doppelte Escapezeichen , das
\\
erforderlich ist, um einen tatsächlich einfachen Schrägstrich in der Zeichenfolge zu haben , der dann zum Escapezeichen|
im regExp führt. )Nur wenige Zeichen benötigen regExp-Escaping. unter ihnen der Rohrbetreiber.
quelle
Versuchen:
quelle
quelle
Versuchen Sie diese Methode:
quelle