Letzte vier Zeichen entfernen
var myString = "abcdefg";
var newString = myString.substr(0, myString.length-4);
// newString is now "abc"
Erste zwei Zeichen entfernen
var myString = "abcdefg";
var newString = myString.substr(2);
// newString is now "cdefg"
Notizen
Die substr-Funktion kann mit jeder Zeichenkette und zwei ganzzahligen Parametern aufgerufen werden, wobei der zweite optional ist. Wenn nur einer angegeben wird, beginnt er bei dieser Ganzzahl und geht bis zum Ende der Zeichenkette, wobei der Anfang abgeschnitten wird. Wenn zwei Parameter angegeben werden, beginnt er bei der ersten Zahl und endet bei der zweiten, wobei der Anfang und das Ende so gut wie möglich abgeschnitten werden.
Beispiel
abcdefghijklmnopqrstuvwxyz
Der Ausschnitt auf dieser Seite funktioniert bei mir nicht und gibt folgende Fehlermeldung aus
$(‘#chopper’)[0].innerText ist undefined
Nur zur Info!
Ich habe bereits versucht, auf die Schaltfläche "Zum Abschneiden drücken" zu klicken, aber es passiert nichts. Wie kommt das?
Pauly (und Joshua oben) – Ich sehe diese Fehlermeldung nicht, könnt ihr mir den Browser/die Version nennen?
Firefox Mac, Version 27.0.1 hier, funktioniert nicht.
Chrome Mac, Version 33.0.1750.146 funktioniert.
Safari Mac, Version 6.1.1 (7537.73.11) funktioniert.
Es scheint also, dass ihr Firefox nicht unterstützt. Wow.
Konsole sagt
Fehler: TypeError: $(…)[0].innerText ist undefined auf css-tricks.com/snippets/javascript/trim-firstlast-characters-in-string/ in Zeile 58
Ich glaube, der Code-Snippet für das zweite Beispiel hat einen Tippfehler
var myString = “abcdefg”;
var newString = myString_2.substr(2);
Die zweite Zeile dieses Ausschnitts sollte lauten:
var newString = myString.substr(2);
Danke für den Tipp!
Da hast du Recht! Wird behoben. Und begraben, nur weil es nicht mehr relevant für den Thread ist.
Danke!!
Chris,
Gibt es spezifische Gründe, warum du
String.**substr**( start [, length ] )anstelle vonString.**slice**( begin [, end ] )gewählt hast? Ich habe kurz recherchiert und die meisten empfehlen splice, da es einen negativen Wert für den Endpunkt akzeptiert, ohne die Länge berechnen zu müssen?schneiden und würfeln...
Nur neugierig!
Chris, es scheint, dass FF
innerTextnicht unterstützt.textContentwäre das moderne Äquivalent: https://developer.mozilla.org/en-US/docs/Web/API/Node.textContentAber da wir sowieso jQuery verwenden, warum nicht
$(…).text():)Wie machst du beides? Also wie entfernst du die ersten 9 Zeichen und das letzte 1 Zeichen im selben String?
@Wesley,
Entschuldigung, es war spät gestern Abend, aber ich habe die beiden unten erwähnten String-Modifikatoren zu einer Zeile zusammengefügt
Hier ist ein Stift, der es in Aktion zeigt
@Wesley, was ist damit?
Macht das, was du willst?
Jon,
Danke für diesen Code-Snippet. Ich bin mit PHP vertrauter als mit Javascript und habe nach einer Möglichkeit gesucht, einen String an beiden Enden zu kürzen, und das hat perfekt funktioniert. TY.
Don
Ich habe es mit einem spezifischen String zum Ersetzen versucht und es hat funktioniert, aber ich habe eine Situation wie diese
<span class='someclass'>someclass</span>zu sometext, ist das möglich?Wie wäre es, einige Zeichen zu überspringen und das Zeichen danach zu entfernen?
Wie in abcdefgh, wie beginnt man das Beschneiden von d (damit d das erste Zeichen wird)?
@Sarmad,
Das wäre der erste Teil des Codeblocks, den ich oben gezeigt habe
oder
http://codepen.io/jonrandahl/pen/hulKG
Ja, das habe ich verstanden, aber ich habe nach dem Entfernen von Zeichen aus der Mitte gefragt.
Wie abc(vier Zeichen entfernen)hijklmn
@Sarmad,
Funktioniert das für dich?
http://codepen.io/jonrandahl/pen/xgDrF
Genau. Ich habe nach einer Möglichkeit gesucht, etwas aus einer URL innerhalb von
<a>zu trimmen. Das funktioniert jetzt gut. Danke@Sarmad,
Man könnte auch die Zeichenkette anhand des Suchparameters aufteilen und die beiden resultierenden Array-Teile verketten, so
Beispiel...
Es kommt wirklich darauf an, wie du deine "Nadel" (String) innerhalb deines "Heuhaufens" (String) finden willst?
Jon
a=(123) 456-789
Wie ignoriert man das Sonderzeichen?
Anstatt 9044420544 möchte ich *******544 anzeigen. Wie mache ich das in HTML und Javascript und nach dem Klicken auf die Schaltfläche soll 9044420544 angezeigt werden.
@alankar, ich würde den ursprünglichen Wert kopieren und in einem Data-Attribut speichern und dann alle außer der Gesamtlänge des Strings minus 3 maskieren, indem ich Regex verwende, um die Zeichen durch das Sternchenzeichen zu ersetzen. Schreie, wenn du weitere Hilfe benötigst!
@alankar,
Wie wäre es hiermit?
http://codepen.io/jonrandahl/pen/BKqPdP