如何从richtextbox中的每一行中删除前27个字符?
我试过了
For Each i In RichTextBox1.Lines
i = RichTextBox1.Text.Remove(0, 27)
Next
答案 0 :(得分: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()
答案 1 :(得分: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