字符串字符比较
我需要比较VB中两个字符串中的字符并获取不同字符数量的数值。我用这个来看看这两个单词是否通过检查差异的数量来拼写相同,尽管如果它们是相似的,我必须给予相应 - 因此需要的数值。非常感谢!字符串字符比较
一些伪代码,可能会使事情更清晰:
Dim string1, string2 As String
Dim change As Integer
[On button press]
string1 = TextBox1.Text
string2 = TextBox2.Text
CompareCharacters(string1, string2)
FormatNumber of differences between strings = change
MsgBox(change)
非常感谢。
您可以遍历字符串,并比较每个字符:
Dim cnt As Integer = 0
For index = 0 to Math.Min(string1.Length, string2.Length) - 1
If string1.Substring(index, 1) <> string2.Substring(index, 1) Then
cnt = cnt + 1
End If
Next
Dim change As String = cnt.ToString()
您可能想要将其余的字符添加到'cnt'变量上减速。 'Dim cnt As Integer = Math.Abs(string1.Length - string2.Length)' –
*声明:D –
@Bjørn-RogerKringsjå:是的,你可以。这取决于你是否希望它们包含在差异计数中。 :) – Guffa
使用LINQ:
Friend Function AmountOfDifferentCharacters(ByVal String1 As String,
ByVal String2 As String) As Integer
Return (From c As Char In String2 Where Not String1.Contains(c)).Count
End Function
非常感谢,这看起来是正确的,但我会如何实现这一点? – user3320314
如果字符串没有什么相同的长度? – FredP
你是指“不同人物的数量”是什么意思?考虑“abc”和“axbc”。这是1,2还是3的区别? – Darryl
这将是一个区别,我用它来确定这些单词拼写是否相同(事后来看,我认识到更多的上下文会有帮助) – user3320314