我正在制作这个无用的程序只是为了正确地重新编程,并且我正在努力比较两个字符串的准确性。
我基本上有2个字符串:(示例)
(我比较的常数)str1 =“abcdefghijkl”
(输入)str2 = "abcdefghjkli"
str2 在(包括)“h”之前是正确的。我想知道字符串的正确百分比。
这是我到目前为止的代码:
Private Function compareString(str1 As String, str2 As String)
'Compares str2 to str1 and returns a % match
Dim strNumber As Integer
Dim percentMatch As Integer
'Dim array1(16), array2(16) As Char
'array1 = str1.ToCharArray
'array2 = str2.ToCharArray
For x = 0 To str1.Length
'If array1(x) = array2(x) Then
If str1(x) = str2(x) Then
strNumber += 1
Else
Exit For
End If
Next
percentMatch = ((strNumber / (str1.Length - 1)) * 100)
percentMatch = CInt(CStr(percentMatch.Substring(0,4)))
Return percentMatch
结束功能 两个注释部分是我来这里之前尝试的另一种方法。代码应该如下运行
compareString("abcdefghijkl", "abcdefghjkli")
strNum 将达到 8。
百分比匹配 = ((8 / 12)*100)
*百分比匹配 = 75
返回 75
但是,它不返回这个,在线
If str1(x) = str2(x) Then
它返回一个错误,“索引超出了数组的范围。” 我理解错误,只是不知道我哪里出错了。
如果还有我可以提供的信息,我会在看到通知后立即提供:)
提前致谢,
林斯莱普