私はこの役に立たないプログラムを作成して、適切にプログラミングに戻るためだけに、2 つの文字列を正確に比較するのに苦労しています。
私は基本的に2つの文字列を持っています:(例)
(比較する定数) str1 = "abcdefghijkl"
(入力) str2 = "abcdefghjkli"
str2 は "h" まで (および "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
End Function 2 つのコメント セクションは、ここに来る前に試した別のアプローチです。コードは次のように実行する必要があります
compareString("abcdefghijkl", "abcdefghjkli")
strNum は 8 になります。
一致率 = ((8 / 12)*100)
*一致率 = 75
リターン 75
しかし、それはこれを返さない、行上
If str1(x) = str2(x) Then
「インデックスが配列の範囲外でした」というエラーが返されます。私はエラーを理解していますが、どこが間違っているのかではありません。
私が提供できる情報が他にある場合は、通知が表示されたらすぐに提供します:)
前もって感謝します、
リンスレップ