从 richtextbox 中的每一行中删除前 27 个字符
Remove first 27 characters from each line in richtextbox
我该如何删除 richtextbox 中每行的前 27 个字符?
我试过了
For Each i In RichTextBox1.Lines
i = RichTextBox1.Text.Remove(0, 27)
Next
与其遍历 Lines
属性 并尝试单独更改每一行,不如尝试为 Lines
属性 分配一个新数组,如下所示:
已更新以处理少于 27 个字符的行
RichTextBox1.Lines = RichTextBox1.Lines.Select(Function(line) If(line.Length >= 27, line.Remove(0, 27), line)).ToArray()
您也可以使用 String.Substring()
而不是 String.Remove()
RichTextBox1.Lines = RichTextBox1.Lines.Select(Function(line) If(line.Length >= 27, line.Substring(27), line)).ToArray()
如果您想保留 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
我该如何删除 richtextbox 中每行的前 27 个字符?
我试过了
For Each i In RichTextBox1.Lines
i = RichTextBox1.Text.Remove(0, 27)
Next
与其遍历 Lines
属性 并尝试单独更改每一行,不如尝试为 Lines
属性 分配一个新数组,如下所示:
已更新以处理少于 27 个字符的行
RichTextBox1.Lines = RichTextBox1.Lines.Select(Function(line) If(line.Length >= 27, line.Remove(0, 27), line)).ToArray()
您也可以使用 String.Substring()
String.Remove()
RichTextBox1.Lines = RichTextBox1.Lines.Select(Function(line) If(line.Length >= 27, line.Substring(27), line)).ToArray()
如果您想保留 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