Richtextbox, Zeilenumbruch ersetzen. :/

  • VB.NET

Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von ~blaze~.

    Richtextbox, Zeilenumbruch ersetzen. :/

    Huhu vb-Paradise,

    ich probiere seit ein paar Tagen in einer Richtextbox die Zeilenumbrüche durch ein "\n" zu ersetzen, so das ich es wenigstens in richtiger Trennung in einem Webbrowser wiedergeben kann.

    Bps:

    Text:
    Hallo Peter,

    wie geht es dir?

    wird zu:
    Hallo Peter, wie geht es dir?

    Das soll es aber nicht. :/

    Hier mein Code:

    VB.NET-Quellcode

    1. Dim SaveString As String = RichTextBox1.Text
    2. SaveString = Regex.Replace(SaveString, vbCrLf, "\n")


    Aber der text bleibt genau wie vorher :/
    Liebe Grüße,
    C.O.D.E

    Testautomatisierung (TA):

    5%
    Du findest meinen Beitrag Hilfreich? :thumbup: Dann drück auf Hilfreich!
    *Vollzitat entfernt*

    Stimmt \n ist glaube ich PHP. Jedoch tut das ja nichts zur Sache, da er ja einfach die zeilenumbrüche nicht ersetzt. :/

    lg

    Edit by ~blaze~:
    *Vollzitat entfernt*
    Liebe Grüße,
    C.O.D.E

    Testautomatisierung (TA):

    5%
    Du findest meinen Beitrag Hilfreich? :thumbup: Dann drück auf Hilfreich!

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

    Hi
    ist wohl klar, wenn du Regex hernimmst und bei Regex \n als Zeilenumsprung definiert wurde ;).
    Mach aus \n einfach \\n, dann sollte es funktionieren, wenn alle Zeilenumsprünge grundsätzlich crlf sind. Übrigens wäre es "schöner", Environment.NewLine zu verwenden. Hat es eigentlich einen Grund, warum du Regex und nicht einfach String.Replace hernimmst?

    Edit: den Teil mit \n nehm ich zurück! Das gilt ja nur beim Pattern. Versuchs mal da mit "\n" statt vbCrLf.

    Gruß
    ~blaze~
    *Vollzitat entfernt*

    Als ich das mal gemacht habe wurde ich hier im Forum angekackt warum ich nicht Regex nehmen würde! :D xD

    Ich probier es mal mit der String.Replace Variante! :)

    Edit by ~blaze~:
    *Vollzitat entfernt*
    Liebe Grüße,
    C.O.D.E

    Testautomatisierung (TA):

    5%
    Du findest meinen Beitrag Hilfreich? :thumbup: Dann drück auf Hilfreich!

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

    *Vollzitat entfernt*

    Also ich habe es jetzt mit dem Probiert:

    VB.NET-Quellcode

    1. Dim SaveString As String = RichTextBox1.Text.Replace(Environment.NewLine, "<br>")
    2. MsgBox(SaveString)


    Aber er ersetzt die Newlines einfach nicht.

    Er soll nur aus:

    Quellcode

    1. Hallo Peter,
    2. wie geht es dir?


    das machen:

    Quellcode

    1. Hallo Peter,
    2. <br>
    3. <br>wie geht es dir?


    Damit die zeilenumbrüche auch im Webbrowser da sind.

    Sonst wird es immer so angezeigt:

    Quellcode

    1. Hallo Peter, wie geht es dir?


    :/

    Edit by ~blaze~:
    *Vollzitat entfernt*
    Liebe Grüße,
    C.O.D.E

    Testautomatisierung (TA):

    5%
    Du findest meinen Beitrag Hilfreich? :thumbup: Dann drück auf Hilfreich!

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

    Könnte mir mal kurz jem. den Unterschied zwischen VbCrLf und VbLf erklären?
    LG
    "Life isn't about winning the race. Life is about finishing the race and how many people we can help finish the race." ~Marc Mero

    Nun bin ich also auch soweit: Keine VB-Fragen per PM! Es gibt hier ein Forum, verdammt!
    Also im Prinzip ist das so: Line feeds (Lf) sind halt Zeilenumsprünge, während carriage returns (Cr) nur Wagenrückläufe sind. Line feeds stehen halt eigentlich dafür, dass eine neue Zeile angefangen wird und carriage returns dafür, dass der Anfang der Zeile angesteuert wird. Windowsintern wird eigentlich meist eine Kombination von Cr & Lf verwendet, wobei halt CrLf rauskam. Andere Betriebssysteme und anders handhabende Programme verwenden auch nur Lf oder nur Cr statt der Kombination. Deswegen funktioniert das Ersetzen halt auch nicht immer.

    Gruß
    ~blaze~