2017-11-21 5 views
0

Ich versuche Whitespace zwischen einzelnen Zeichen am Ende einer Zeichenfolge zu löschen.Ersetzen Leerzeichen zwischen einzelnen Zeichen in Redshift (POSIX regex ... dh keine Lookarounds)

Zum Beispiel würde ich dies benötigen:

EINIGE UNTERNEHMEN LLC

dies zu werden:

EINIGE UNTERNEHMEN LLC

Der Haken dabei ist, dass dies in Redshift ist, die nur POSIX unterstützt Reguläre Ausdrücke, daher kann ich kein Lookahead (? =) verwenden, das das Leben zu einfach machen würde.

Das nächste, was ich bisher habe, ist:

(\s.{1,3}$) 

Siehe hier: https://regexr.com/3h81p

Doch diese die Buchstaben zu auswählt. Ich kann die Buchstaben nicht einfach durch LC ersetzen, weil es viel mehr Dateien wie L P, L C, N A gibt, also wäre es sehr nett, nur die Leerzeichen zwischen ihnen zu ersetzen.

Jede Hilfe wird geschätzt!

+0

Wenn Sie einen Regexr-Link bereitstellen, warum würden Sie dann auch Beispiel-Testfälle bereitstellen? – Alexander

+0

Wirklich POSIX BREs/EREs, oder haben Sie '\ <', '\>', '\ s',' \ S' usw.? – AlexP

+0

Unterstützt es '\ b' (Wortgrenze) und Rückverweise? – anubhava

Antwort

1

Suchen nach:

(\s\w)\s(\w)\s?(\w?)$ 

mit Ersetzen:

$1$2$3 

Dies sollte zwischen zwei zelteten aus Zeichen oder drei zelteten aus Zeichen am Ende einer Zeile zum Entfernen von Räumen arbeiten.

+0

Schön, das funktioniert. Musste extra hinzufügen, aber so: (\\ s \\ w) \\ s (\\ w) \\ s? (\\ w?) $ –

Verwandte Themen