RegEx.Replace()

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von Gugi.

    RegEx.Replace()

    Hallo,
    mithilfe von RegEx will ich hinter einem bestimmten Zeichen ein Absatz (vbnewline) machen ohne dabei das Zeichen zu "verlieren".
    Ich hab das mit RegEx.Replace probiert, was aber nicht geklappt hat, was muss ich machen damit das funktioniert?
    Hay,
    welches Zeichen willst du denn ersetzen?
    Willst du falls es im String mehrmals vorkommt , es immer ersetzen oder wirklich nur an einer bestimmten Stelle und sonst nirgends?

    Falls du Beispielsweise jedes T was im String vorkommt durch T und einen Absatz ersetzen willst einfach so:

    VB.NET-Quellcode

    1. RichTextBox1.Text = RichTextBox1.Text.Replace("T", "T" + Environment.NewLine)



    Gugi schrieb:

    warum benutzt du + und nicht &?


    Weil & oder + bei Strings keinen Unterschied macht.

    Mfg Kevin.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Gutelaunetyp“ ()

    Auf deinen Code bin ich auch schon gekommen der mir leider nichts bringt, danke trotzdem.
    Das Problem dabei ist das Es mehrere Möglichkeiten gibt, und ich deshalb mit den RegEx-Befehlszeichen arbeiten muss. Genauer genommen mit . * und ? . Und wenn ich jetzt beispielsweise um beim T zu bleiben, Richtextbox.Text.Replace("T.*?","T.*?" + vbnewline) schreiben, dann wird aus

    "abc Tee abc"

    "abc T.*? abc"

    statt

    "abc Tee
    abc"
    Es tut mir leid das sagen zu müssen, aber ich hab alles versucht was auf dieser Seite stand und bin immer noch nicht darauf gekommen, gibt es denn keinen Befehl dafür?

    Ich will bloß eine neue Zeile anfangen lassen bzw. einen Absatz einfügen
    scheinbar hast du dir weder den link angeguckt, noch meinen post zuende gelesen...

    aber hier noch einmal extra ausführlich für dich:
    Dim Text As String = "das ist ein X test, bei dem jedes X durch ein X mit leerzeichen ersetzt werden soll"
    Dim result As String = System.Text.RegularExpressions.Regex.Replace(Text, "(X)", "$1" + vbNewLine)

    Fire schrieb:

    scheinbar hast du dir weder den link angeguckt, noch meinen post zuende gelesen...

    aber hier noch einmal extra ausführlich für dich:
    Dim Text As String = "das ist ein X test, bei dem jedes X durch ein X mit leerzeichen ersetzt werden soll"
    Dim result As String = System.Text.RegularExpressions.Regex.Replace(Text, "(X)", "$1" + vbNewLine)

    warum benutzt du + und nicht &?

    geht auch so:

    VB.NET-Quellcode

    1. Imports system.text.regularexpressions

    VB.NET-Quellcode

    1. regex.replace(textbox1.text, "X", "X" & vbnewline)


    lg Gugi