2015-07-21 3 views
-1

Как я могу удалить первые 27 символов из каждой строки в richtextbox?Удалить первые 27 символов из каждой строки в richtextbox

Я попытался

For Each i In RichTextBox1.Lines 
     i = RichTextBox1.Text.Remove(0, 27) 
    Next 
+2

Вы попробовать его первым. Затем опубликуйте, что вы пробовали, если он не работает. Затем вы получите помощь. – Shar1er80

+0

Я пытался, это мое последнее средство. Спасибо, что пригласили на stackoverflow. – user3166518

+1

Тогда где код, который вы пробовали? Мы все будем рады помочь, если вы пробовали в первую очередь. Вот почему вы проголосуете. (Я не проголосовал) – Shar1er80

ответ

1

Если вы хотите сохранить уже форматированием в RichTextBox, а затем сделать это таким образом:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
    For i As Integer = 0 To RichTextBox1.Lines.Length - 1 
     Dim index As Integer = RichTextBox1.GetFirstCharIndexFromLine(i) 
     RichTextBox1.Select(index, Math.Min(27, RichTextBox1.Lines(i).Length)) 
     RichTextBox1.SelectedText = "" 
    Next i 
End Sub 
2

Вместо итерацию через Lines собственности и пытается изменить каждую строку по отдельности, попытайтесь присвоив Lines свойству новый массив так:

Обновлено для обработки строк меньше чем 27 знаков

RichTextBox1.Lines = RichTextBox1.Lines.Select(Function(line) If(line.Length >= 27, line.Remove(0, 27), line)).ToArray() 

Вместо String.Remove() вы также можете с помощью String.Substring()

RichTextBox1.Lines = RichTextBox1.Lines.Select(Function(line) If(line.Length >= 27, line.Substring(27), line)).ToArray() 
+0

Это не составит тонны разницы, но насколько я знаю, используя подстроку вместо Remove, это ускорит это немного. – Saragis

+1

@Saragis Я понял, что, но не хотел откладывать далеко от того, что было OP пробовать. Я добавлю это как еще одну возможность. Благодаря! :-) – Shar1er80

+0

Спасибо за помощь, я получаю «Индекс и длина должны относиться к местоположению внутри строки». ошибка, хотя, что не имеет большого смысла, видя, что 0, 27 - это 27, а длина - индекс. – user3166518

Смежные вопросы