Postgres — entfernen einer Reihe von Buchstaben aus einem string
Möchte ich entfernen Sie die Vokale aus dem E-Mail-id. Welche Funktion soll ich verwenden?
Ich bin auf der Suche nach dem Unterschied zwischen translate
und replace
in postgresql
aber nicht der genaue Unterschied
Für Tipps, Fragen, besseren Stack-Überlauf Fragen empfehle ich die Lektüre von stackoverflow.com/questions/how-to-ask. Für PostgreSQL-spezifische Fragen Lesen Sie auch "wie man Fragen gute Fragen" unter stackoverflow.com/tags/postgresql/info . Anderen zu helfen, die Antwort auf Ihre Frage finden, später, um Missverständnisse zu vermeiden, und machen es einfacher, Ihre Frage zu beantworten schneller es ist gut zu umfassen-Versionen, sample-Daten, die erwarteten Ergebnisse, etc.
InformationsquelleAutor user2589918 | 2013-07-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
In diesem Fall werden Sie wahrscheinlich eigentlich wollen
regexp_replace
.Unter der Annahme von "Vokal" meinst du "Western European (Englisch) Sprache Vokal-Briefe", könnten Sie schreiben:
den
gi
in das vierte argument sagt, "anwenden dieser reguläre Ausdruck globally, um die gesamte Eingabe-string nicht nur auf das erste match, und machen es der Fall ichnsensitive".Denken Sie daran, dass
w
undy
sind manchmal Vokal-sounds, je nach Kontext, auch. Sie werden nicht in der Lage zu handhaben, die mit einem regexp-also es hängt davon ab, ob oder nicht Sie kümmern sich für diesen Zweck.Sind Sie weniger wahrscheinlich zu müssen, um sich mit anderen Zeichensätzen wenn Sie arbeiten mit E-Mail-Adressen, so eine regexp wäre OK.
In den meisten Fällen mangeln Wörter mit regulären Ausdrücken wäre nicht ein guter Ansatz, allerdings; zum Beispiel Russisch im kyrillischen alphabet verwendet
A Э У О Ы Я Е Ё Ю И
als Vokale. Zusätzlich, abhängig von der Sprache, die gleichen Buchstaben in der gleichen Skript könnte oder nicht, ein Vokal! Lesen Sie hier weiter für mehr, als Sie jemals wissen wollte.InformationsquelleAutor Craig Ringer
translate()
ersetzt set von einzelnen Zeichen (als Zeichenfolge übergeben) mit einem anderen set von Zeichen (auch als Zeichenfolge übergeben), zum Beispiel:replace()
ersetzt vorkommen eines string beliebiger Länge mit einem anderen string:InformationsquelleAutor Bohemian