Vb.net 比较两个RichTextBox中的文本并获得差异
我想比较两个richtextbox之间的文本,并得到第三个文本的差异。不突出显示文本。 到目前为止,最好的选择是 第一个解决方案可以工作,但它不会从richtextbox1中删除richtextbox2中的文本。 Ended,用户问道 如果他们是一样的,什么也不做 我的情况完全相反,但我仍然找不到解决办法Vb.net 比较两个RichTextBox中的文本并获得差异,vb.net,loops,compare,richtextbox,Vb.net,Loops,Compare,Richtextbox,我想比较两个richtextbox之间的文本,并得到第三个文本的差异。不突出显示文本。 到目前为止,最好的选择是 第一个解决方案可以工作,但它不会从richtextbox1中删除richtextbox2中的文本。 Ended,用户问道 如果他们是一样的,什么也不做 我的情况完全相反,但我仍然找不到解决办法 谢谢首先,您需要在表单中添加一个名为(combobox1)的组合框 然后在其中添加以下项目: RichTextbox1-RichTextbox2 RichTextbox2-RichTextbo
谢谢首先,您需要在表单中添加一个名为(combobox1)的组合框 然后在其中添加以下项目: RichTextbox1-RichTextbox2 RichTextbox2-RichTextbox1 其次,添加一个名为(button1)的按钮,在该按钮单击事件下 插入以下代码:
RichTextBox3.Clear()
If RichTextBox1.Text <> "" And RichTextBox2.Text <> "" And RichTextBox1.Text <> RichTextBox2.Text And ComboBox1.SelectedItem = "RichTextbox1 - RichTextbox2" Then
Dim txt1(RichTextBox1.Text.Split(" ").Length) As String
Dim txt2(RichTextBox2.Text.Split(" ").Length) As String
txt1 = RichTextBox1.Text.Split(" ")
txt2 = RichTextBox2.Text.Split(" ")
Dim diff1 As String = ""
For Each diff As String In txt1
If Array.IndexOf(txt2, diff.ToString) = -1 Then
diff1 += diff.ToString & " "
End If
Next
RichTextBox3.Text = diff1.ToString
End If
If RichTextBox1.Text <> "" And RichTextBox2.Text <> "" And RichTextBox1.Text <> RichTextBox2.Text And ComboBox1.SelectedItem = "RichTextbox2 - RichTextbox1" Then
Dim txt1(RichTextBox1.Text.Split(" ").Length) As String
Dim txt2(RichTextBox2.Text.Split(" ").Length) As String
txt1 = RichTextBox1.Text.Split(" ")
txt2 = RichTextBox2.Text.Split(" ")
Dim diff2 As String = ""
For Each diff As String In txt2
If Array.IndexOf(txt1, diff.ToString) = -1 Then
diff2 += diff.ToString & " "
End If
Next
RichTextBox3.Text = diff2.ToString
End If
如果您觉得这很有用,请将其标记为“答案”您好,谢谢。不幸的是,通过比较两行文本,您的代码可以完美地工作。我正在寻找替换rtb2中rtb1中的单词的方法,不管它们的位置如何。如果在rtb1的开头包含“X”,但在rtb2的结尾包含“X”,那么我希望它考虑到它并消除它。我想消除从rtb1到rtb2的所有令人兴奋的事情。希望这是清楚的。你认为这有可能吗?我不确定我是否很了解你,例如,我接受了你上面的评论并进行了快速尝试,首先我将其复制到2个RichTextBox并按下按钮(无结果),然后我仅从第二个框中删除了(如果“X”是)后面的(包含)一词(结果是删除的单词contain),然后,我再次添加了“包含”一词,但在第2框的段落末尾(结果再次为零),代码完全符合您的想法,如果您仍需要修改,请给我一个您想要处理的文本示例,我将为您编辑代码。您好@GME,谢谢您的回答。我将尝试更具体地让图像说话。p、 另外,C5与A4不在同一行,因此应在下面的行中。
Dim intsA = RichTextBox1.Text.Split(" ")
Dim intsB = RichTextBox2.Text.Split(" ")
Dim myresult = intsA.Except(intsB).ToArray()
RichTextBox3.Text = String.Join(" ", myresult)