2015-07-21 32 views
-1

我將如何去除richtextbox中每行的前27個字符?從richtextbox的每一行中刪除前27個字符

我已經試過

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

這不會造成很大的差異,但據我所知,使用Substring而不是Remove會加快速度 – Saragis

+1

@Saragis我想到了這一點,但並不想延遲到已經完成的操作試。我會補充說另一種可能性。謝謝! :-) – Shar1er80

+0

感謝您的幫助,我得到一個「索引和長度必須指向字符串內的位置。」錯誤雖然,這是沒有多大意義看作0,27是27是長度和索引是位置。 – user3166518

相關問題