Entfernen Sie alle vorkommen mit Ausnahme der letzten?
Möchte ich entfernen Sie alle vorkommen von substring = .
im string außer dem letzten.
E. G:
1.2.3.4
werden sollte:
123.4
Du musst angemeldet sein, um einen Kommentar abzugeben.
Möchte ich entfernen Sie alle vorkommen von substring = .
im string außer dem letzten.
E. G:
1.2.3.4
werden sollte:
123.4
Du musst angemeldet sein, um einen Kommentar abzugeben.
2-liner:
Alternative version ohne die Anforderung an das string-argument:
Demo:
Den folgenden Einzeiler ist ein regulärer Ausdruck, der die Tatsache zunutze, dass die
*
Zeichen ist gierig, und ersetzen Sie verlassen die Zeichenfolge allein, wenn keine übereinstimmung gefunden wird. Es funktioniert durch übereinstimmende [längste Zeichenfolge einschließlich dots][dot] und verlassen [rest der Zeichenfolge], und wenn eine übereinstimmung gefunden wird, es entfernt alle '.'s von ihm:(Wenn dein string enthält Zeilenumbrüche, müssen Sie
[.\n]
eher als Nackte.
s)Können Sie die regex mit positiven Blick in die Zukunft
Können Sie etwas wie das hier tun:
Live-Beispiel:
Konnte man einen positiven lookahead (für die Aufbewahrung der Letzte Punkt, falls vorhanden) und ersetzen Sie das erste mal Punkten.
JS:
var s='1.2.3.4';
123.4
Einen
replaceAllButLast
Funktion ist nützlicher als einremoveAllButLast
Funktion. Wenn Sie entfernen möchten, ersetzen Sie einfach mit einem leeren string:JS:
Finden Sie eine viel bessere Möglichkeit, dies zu tun. Hier ist
replaceAllButLast
undappendAllButLast
wie Sie getan werden sollte. Letzteres macht einen zu ersetzen, während die Erhaltung der ursprünglichen entsprechen. Zu entfernen, ersetzen Sie einfach mit einem leeren string.JS:
Dank @leaf für diese Meisterwerke, die er gab hier.
Könnten Sie umkehren der Zeichenfolge, entfernen Sie alle vorkommen von substring, außer der ersten, und reverse es wieder zu bekommen, was Sie wollen.
Ihn in Aktion zu sehen hier: http://jsbin.com/izebay