我正在尝试删除最后一个逗号&我的RichTextBox中的空格。
这是我的RichTextBox的结果。它包含各种不同的类别,分为不同的颜色,方便用户阅读。
但是,正如您所看到的:逗号和空格(空间不可见)位于电磁阀之后
我使用以下代码修剪RichTextBox中的最后一个逗号和最后一个空格。
If rtbSummary.Text.Substring(rtbSummary.TextLength - 2, 2).Contains(", ") Then
rtbSummary.Text = rtbSummary.Text.Remove(rtbSummary.TextLength - 2, 2)
End If
请记住,这有效。唯一的问题是我丢失了格式:
那么如何在不影响颜色格式的情况下从RichTextBox中删除最后一个逗号和空格呢?
我的RichTextBox中存在逗号和空格的原因是因为我在我的对象列表中循环以填充RichTextbox。如果我要验证是否有其他项目来放置逗号,我会循环很多东西。我认为只需一个修剪就比嵌套循环消耗更少的资源。
答案 0 :(得分:3)
替换Text属性会删除现有文本的所有格式。尝试使用Selection方法进行更改:
Dim lastComma As Integer = rtb.Text.LastIndexOf(",")
If lastComma > -1 Then
rtb.Select(lastComma, rtb.Text.Length - lastComma)
rtb.SelectedText = String.Empty
End If
答案 1 :(得分:0)
参考LarsTech的建议。
请注意,如果您启用了只读,那么您必须在文本删除期间暂时禁用它。否则它将忽略您的努力( rtb.SelectedText = String.Empty )并保持选中文本。