vb.net letzten Zeilenumbrüche löschen

  • Sonstige

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von v-go.

    vb.net letzten Zeilenumbrüche löschen

    hallo vb-paradise,

    Ich hab in meiner GUI programmiert, dass man zur nächsten Textbox
    springt nachdem man 3 mal Enter eingegeben hat. Natürlich sind danach
    noch die Umbrüche in der Textbox enthalten.

    Wie schaff ich es, dass diese nach dem Weiterspringen gelöscht werden ? :)

    Ich habe schon lange selber nach einer Lösung gesucht, aber nichts hat funktioniert... Danke schonmal für Hilfe.
    Unter VB.net würdest es so replacen

    VB.NET-Quellcode

    1. textbox1.text = textbox1.text.replace(vblf,"")


    ansonsten in VBA


    Visual Basic-Quellcode

    1. sText = Replace(sText, vbLf, "")


    siehe auch diesen Link:stackoverflow.com/questions/10…move-line-break-in-string
    stackoverflow.com/questions/10…move-line-break-in-string

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „v-go“ ()

    Dann müsstest du alle Zeilen in einer Schleife durchgehen und nur bei den letzten 3 Zeilen replacen. Ich kann es dir hier mal zeigen, wie es in vb.net gehen würde:

    VB.NET-Quellcode

    1. Dim linecount As Integer = 0
    2. Dim linecount2 As Integer = 0
    3. For Each line As String In RichTextBox1.Lines
    4. linecount += 1
    5. Next
    6. For Each line As String In RichTextBox1.Lines
    7. linecount2 += 1
    8. If linecount2 = (linecount - 3) Then
    9. RichTextBox1.Text = RichTextBox1.Text.Replace(vbLf, "")
    10. ElseIf linecount2 = (linecount - 2) Then
    11. RichTextBox1.Text = RichTextBox1.Text.Replace(vbLf, "")
    12. ElseIf linecount2 = (linecount - 1) Then
    13. RichTextBox1.Text = RichTextBox1.Text.Replace(vbLf, "")
    14. End If
    15. Next


    ist zwar ein stark vereinfachtes Beispiel, würde auch kürzer gehen. Naja vielleicht gibt es dir einen Denkanstoß.
    Ich zähle zuerst alle Zeilen und danach gehe ich den selben Text nochmal durch und zähle wieder alle Zeilen. Der Unterschied ist aber, dass ich beim zweiten mal die letzten 3 Zeilen das Replace mache.
    @v-go Tut mir leid, aber das funktioniert nicht mal ansatzweise, weil du nach wie vor die ganze TextBox replaced.
    Mach das iwie so:
    RTB.Lines = RTB.Lines.Take(RTB.Lines.Count - 3));
    »There's no need to "teach" atheism. It's the natural result of education without indoctrination.« — Ricky Gervais
    Hallo @FBB_Swift_Shadow
    In vb.net würde ich die String.TrimEnd-Methode verwenden.

    VB.NET-Quellcode

    1. ' Create a string that will be trimmed.
    2. Dim path As String = "Hi i'm a test string." & Environment.NewLine & "And this is the second line." & Environment.NewLine & Environment.NewLine & Environment.NewLine
    3. ' Create an array of characters that represent characters to trim.
    4. Dim charsToTrim As Char() = {Convert.ToChar(13), Convert.ToChar(10)}
    5. ' Trim the string.
    6. Dim trimmedPath As String = path.TrimEnd(charsToTrim)


    Gruss HenryV