Ergebnis 1 bis 4 von 4

Thema: regexp_split_to_table() mit Umbrüchen benutzen

  1. #1
    dubst3pp4 ist offline Neuer Benutzer
    Registriert seit
    02.02.2012
    Beiträge
    2

    Standard regexp_split_to_table() mit Umbrüchen benutzen

    Hallo,

    ich möchte aus einem text-Datentyp ein CSV auslesen und im ersten Schritt anhand der Zeilen zu splitten, welche nur (Windows-) Zeilenumbrüche enthalten.
    Mein erster Gedanke war, dafür
    Code:
    regexp_split_to_table(value, '^$')
    zu nutzen. Dies hat allerdings keinen Erfolg.
    Also war mein nächster Versuch, generell anhand eines Zeilenumbruchs zu splitten, aber weder
    Code:
    regexp_split_to_table(value, '$')
    noch
    Code:
    regexp_split_to_table(value, E'\\r\\n')
    funktioniert hier.

    Ich vermute, dass mir der Abschnitt zu Regular Expressions Metasyntax weiterhelfen sollte, allerdings verstehe ich ihn nicht wirklich.

    Hat jemand ein ähnliches Problem bereits gelöst?

    Danke und viele Grüße,
    Marc

  2. #2
    akretschmer ist gerade online Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.472

    Standard

    Zitat Zitat von dubst3pp4 Beitrag anzeigen
    Hallo,

    ich möchte aus einem text-Datentyp ein CSV auslesen und im ersten Schritt anhand der Zeilen zu splitten, welche nur (Windows-) Zeilenumbrüche enthalten.
    Mein erster Gedanke war, dafür
    Code:
    regexp_split_to_table(value, '^$')
    zu nutzen. Dies hat allerdings keinen Erfolg.
    Also war mein nächster Versuch, generell anhand eines Zeilenumbruchs zu splitten, aber weder
    Code:
    regexp_split_to_table(value, '$')
    noch
    Code:
    regexp_split_to_table(value, E'\\r\\n')
    funktioniert hier.

    Ich vermute, dass mir der Abschnitt zu Regular Expressions Metasyntax weiterhelfen sollte, allerdings verstehe ich ihn nicht wirklich.

    Hat jemand ein ähnliches Problem bereits gelöst?

    Danke und viele Grüße,
    Marc
    "Ohne Erfolg" ist keine mir bekannte Fehlermeldung in PostgreSQL.

    Code:
    test=*# select regexp_split_to_table(E'foo,bar,batz\nfoo2,bar2,batz2',E'\n');
     regexp_split_to_table
    -----------------------
     foo,bar,batz
     foo2,bar2,batz2
    (2 rows)
    
    Time: 0,250 ms
    test=*# select regexp_split_to_table(E'foo,bar,batz\e\nfoo2,bar2,batz2',E'\e\n');
     regexp_split_to_table
    -----------------------
     foo,bar,batz
     foo2,bar2,batz2
    (2 rows)


    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  3. #3
    dubst3pp4 ist offline Neuer Benutzer
    Registriert seit
    02.02.2012
    Beiträge
    2

    Standard

    "Ohne Erfolg" ist keine Fehlermeldung sondern nicht das Ergebnis, welches ich erwartet habe ;-)
    Vielen Dank trotzdem für deinen Hinweis, folgendes Statement bringt den gewünschten Erfolg:
    Code:
    select regexp_split_to_table(E'foo,bar,batz\rfoo2,bar2,batz2\r\rfoo3,bar3,batz3',E'\r\r');
         regexp_split_to_table     
    -------------------------------
     foo,bar,batz\rfoo2,bar2,batz2
     foo3,bar3,batz3
    (2 rows)
    Die Zwei aufeinander folgenden Umbrüche tun es natürlich auch, trotzdem wundere ich mich, dass '^$' nicht funktioniert, da es ein korrekter Regulärer Ausdruck ist.

    Viele Grüße,
    Marc

  4. #4
    ads
    ads ist offline Super-Moderator
    Registriert seit
    08.02.2006
    Ort
    MD
    Beiträge
    4.056

    Standard

    Ist nur fraglich ob es in dem Fall (multiline oder halt nicht) als leerer Text oder als leere Zeile interpretiert wird.
    Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören

    Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler

    PostgreSQL Service & Support


Ähnliche Themen

  1. Wieviele Benutzer können gleichzeitig dieselbe Login-Rolle benutzen ?
    Von newposter im Forum Benutzer- & Rechteverwaltung
    Antworten: 2
    Letzter Beitrag: 14.03.2011, 00:18
  2. Antworten: 6
    Letzter Beitrag: 06.05.2010, 14:08
  3. Postgre DB benutzen ohne PG zu installieren
    Von raphaelf im Forum Allgemeines
    Antworten: 2
    Letzter Beitrag: 27.11.2006, 21:07

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Links: Tobias Bauer - IT- und Funkdienstleistungen   -   Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen   -   Funkforum