Regex für den Abgleich mehrere Schrägstriche in der URL
Ich brauche einen regulären Ausdruck für die Ersetzung mehrere Schrägstriche in der URL mit einem einzigen Schrägstrich, ausgenommen diejenigen, die nach dem Doppelpunkt
z.B. http://link.com//whatever///
werden würde http://link.com/whatever/
InformationsquelleAutor geochr | 2013-03-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als Sie bereits akzeptiert eine Antwort. Zeigen einige mehr erweitern, der Abgleich und die Steuerung der Spiele, dies könnte helfen, Sie in die Zukunft:
Ausgabe:
Dubletten nicht so wichtig in deiner situation. Wenn Sie diese Zeichenfolge:
Ihre
set
array enthält mehrerem//
. Ein wenig überflüssig, wie die Schleife sehen, dass die variable ein paar mal. Das schöne ist, dassString.replace()
ersetzt nichts, wenn es nichts findet, so dass kein Schaden getan.Was Sie tun können, entfernen Sie die Duplikate aus
set
den ersten, aber das würde fast erfordern die gleiche Menge an Ressourcen lassen nur die for-Schleife über Sie gehen.Glück!
InformationsquelleAutor
Ich denke, das sollte funktionieren:
/[^:](\/+)/
oder/[^:](\/\/+)/
wenn Sie möchten, dass nur vielfachen.Wird es nicht passen führenden
//
aber es sieht aus wie du bist nicht auf der Suche nach, dass.Ersetzen:
Arbeiten Demo
Oh, Sie wollen ersetzen, und nicht nur match? Das ist ein wichtiger Unterschied.
Nein : es nehmen einige chars
versuchen Sie dies:
'http://link.com//whatever///'.replace(/([^:])(\/\/+)/g, '$1/')
In deinem regulären Ausdruck brauchen Sie nicht das zweite Spiel in Gruppe:
/([^:])\/\/+/g
ist genugInformationsquelleAutor Halcyon
oder (für http, https, ftp und ftps)
InformationsquelleAutor Ahmed KRAIEM