910 Stimmen

Wie entfernt man Text aus einer Zeichenkette?

Ich habe eine data-123 String.

Wie kann ich die data- aus der Zeichenkette, während die 123 ?

1751voto

Mathletics Punkte 33405
var ret = "data-123".replace('data-','');
console.log(ret);   //prints: 123

Dokumente.


Für alle zu verwerfenden Vorkommnisse verwenden Sie:

var ret = "data-123".replace(/data-/g,'');

PS: Die Funktion replace gibt eine neue Zeichenkette zurück und lässt die ursprüngliche Zeichenkette unverändert, verwenden Sie also den Rückgabewert der Funktion nach dem Aufruf von replace().

177voto

James Johnson Punkte 44864

Das hat nichts mit jQuery zu tun. Sie können das JavaScript verwenden replace Funktion dafür:

var str = "data-123";
str = str.replace("data-", "");

Sie können auch eine Regex an diese Funktion übergeben. Im folgenden Beispiel würde sie alles außer Ziffern ersetzen:

str = str.replace(/[^0-9\.]+/g, "");

79voto

laaposto Punkte 11347

Sie können verwenden "data-123".replace('data-',''); wie erwähnt, sondern als replace() ersetzt nur die ZUERST Instanz des übereinstimmenden Textes, wenn Ihre Zeichenkette etwa so lautete "data-123data-" dann

"data-123data-".replace('data-','');

wird nur der erste übereinstimmende Text ersetzt. Und Ihre Ausgabe wird sein "123data-"

DEMO

Wenn Sie also wollen, dass alle Übereinstimmungen in der Zeichenkette ersetzt werden, müssen Sie einen regulären Ausdruck mit der Option g eine solche Flagge:

"data-123data-".replace(/data-/g,'');

Und Ihre Ausgabe wird sein "123"

DEMO2

42voto

m.r shojaei Punkte 437

Sie können slice() verwenden, wenn Sie im Voraus wissen, wie viele Zeichen von der ursprünglichen Zeichenkette abgeschnitten werden müssen. Sie gibt die Zeichen zwischen einem bestimmten Startpunkt und einem Endpunkt zurück.

string.slice(start, end);

Hier sind einige Beispiele, die zeigen, wie es funktioniert:

var mystr = ("data-123").slice(5); // This just defines a start point so the output is "123"
var mystr = ("data-123").slice(5,7); // This defines a start and an end  so the output is "12"

Demo

30voto

James Hill Punkte 58559

Einfaches JavaScript reicht aus - jQuery ist für eine so einfache Aufgabe nicht erforderlich:

var myString = "data-123";
var myNewString = myString.replace("data-", "");

Ver: .replace() Dokumente auf MDN für zusätzliche Informationen und Verwendung.

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