VB.net - Wie kann ich aus einer Richtextbox die letzten 10 Zeichen einer bestimmten Zeile auslesen?

...komplette Frage anzeigen

2 Antworten

Ja. Trenne erst den Text in einzelne Zeilen auf (wenn du das nicht bereits getan hast), iteriere über diese und hole dir dabei pro Iteration die letzten 10 Zeichen.

Die Iteration läuft über eine Schleife, das Aufsplitten und Holen der Zeichen jeweils über Methoden der Klasse String: Split und Substring.

https://msdn.microsoft.com/de-de/library/system.string(v=vs.110).aspx

Letztere benötigt einen Startindex, ab welcher Position der String zerlegt werden soll. Du brauchst die Stringlänge - 10.

Antwort bewerten Vielen Dank für Deine Bewertung
For Each zeile In RichTextBox1.Lines
verwurschteln(zeile.Substring(zeile.Length - 10)
Next

Oder

RichTextBox1.Lines.Select(Function(zeile As String) (zeile.Substring(zeile.Length - 10)))
Antwort bewerten Vielen Dank für Deine Bewertung
Sakumo 09.10.2017, 02:24

hi danke für deine hilfe.

ich habe es mit For Each zeile As String In TextBox4.Lines
TextBox4.Text = (zeile.Substring(zeile.Length - 10))
Next

versucht aber ich kriege nen fehler ausgespuckt dass der index zu klein sei

0
regex9 09.10.2017, 03:24
@Sakumo

Das liegt wohl daran, dass mindestens eine Zeile nicht über mindestens 10 Zeichen verfügt. Das wäre vorher zu prüfen.

1
PWolff 09.10.2017, 18:25
@regex9

Oder anders umgehen:

zeile.Substring(Math.Max(zeile.Length - 10, 0))

Wenn man immer genau 10 Zeichen braucht, kann man noch mit String.PadLeft oder String.PadRight verlängern.

0

Was möchtest Du wissen?