我有 2 个文本框。
我想比较Textbox1和Textbox2的所有单词
假设如果 Textbox1 中的第二个单词是“me”,而 Textbox 2 中的第二个单词是“him”,则它将突出显示 Textbox 2 上的单词“him”和 Textbox1 上的“me”。
示例:
方框 1 = 我是一个男孩
方框2=我是一个女孩
方框 1 = 他是一个男孩
框 2 =她是一个女孩
但现在我在比较单词时遇到问题。我尝试按数组索引进行比较,但它只会显示 Textbox1 中找不到的单词!
Dim txt1(TextBox1.Text.Split(" ").Length) As String
Dim txt2(TextBox2.Text.Split(" ").Length) As String
txt1 = TextBox1.Text.Split(" ")
txt2 = TextBox2.Text.Split(" ")
Dim diff1 As String = "" 'Differences between 1 and 2
Dim diff2 As String = "" 'Differences between 2 and 1
For Each diff As String In txt1
If Array.IndexOf(txt2, diff.ToString) = -1 Then
diff1 += diff.ToString & " "
End If
Next
For Each diff As String In txt2
If Array.IndexOf(txt1, diff.ToString) = -1 Then
diff2 += diff.ToString & " "
End If
Next
我还面临一个无法突出显示文本的问题
最佳答案
使用 Linq Except扩展名:
Dim diffs = txt1.Except(txt2)
输出:
- diffs(0) = "he"
- diffs(1) = "boy"
您可以在 txt1 和 txt2 之间交换:
Dim diffs = txt2.Except(txt1)
输出:
- diffs(0) = "she"
- diffs(1) = "girl"
关于arrays - 比较两个文本框中的单词以找出差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30369925/