Frage zu Reguläre Ausdruck. Etwas finden zwischen zwei Anführungszichen finden bzw. ersetzen.

  • Sonstige

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Frage zu Reguläre Ausdruck. Etwas finden zwischen zwei Anführungszichen finden bzw. ersetzen.

    Hallo liebe Progigemeinde !!!

    Ich schäme mich fast aber ich komme mit Regulären Ausdrücken momentan nicht zu recht.
    Stunden lange habe ich im Internet gesucht, gelesen, ausprobiert und bin durchweg gescheitert.

    Ich hoffe, jemand aus der Gemeinde kann mir helfen.

    Ich lese eine CSV ein und bekomme folgende Zeile.

    Original
    hund,Katze,""in, Anführungzeichen,Reh"",haus,Maus

    Ich möchte nun das bzw, die Kommata zwischen den Anführungszeichen entweder eliminieren oder austauschen und die Anführungszeichen eliminieren.

    Ziel ist also
    hund,Katze,in Anführungzeichen Reh,haus,Maus
    auch noch akzeptabel wäre
    hund,Katze,in.Anführungzeichen.Reh,haus,Maus
    hund,Katze,in:Anführungzeichen:Reh,haus,Maus

    Jetzt hoffe ich mal das jemand eine Idee hat, und mich vor der Kapitulation bewahrt

    Viele Grüße und großem Dank im voraus

    Frank



    VB.NET-Quellcode

    1. Option Strict On
    2. Option Explicit On
    3. Module Module1
    4. Sub Main()
    5. Dim t As String = "hund,Katze,""in, Anführungzeichen,Reh"",haus,Maus"
    6. Debug.Print(t)
    7. Dim arr() As String
    8. arr = t.Split(ChrW(34))
    9. arr(1) = arr(1).Replace(",", " ").Replace(" ", " ")
    10. t = String.Join(" ", arr)
    11. Debug.Print(t)
    12. End Sub
    13. End Module

    VB.NET-Quellcode

    1. Option Strict On
    2. Option Explicit On
    3. Imports System.Text.RegularExpressions
    4. Module Module1
    5. Sub Main()
    6. Dim t As String = "hund,Katze,""in, Anführungzeichen,Reh"",haus,Maus"
    7. Debug.Print(t)
    8. Dim tmp, t1 As String
    9. Dim rx As New Regex("(.*)[\""](.*)[\""](.*)", RegexOptions.Singleline Or RegexOptions.Multiline)
    10. t1 = rx.Replace(t, "$2")
    11. t1 = t1.Replace(",", " ").Replace(" ", " ")
    12. tmp = rx.Replace(t, "$1" & t1 & "$3")
    13. Debug.Print(tmp)
    14. End Sub
    15. End Module