12,751,306 members (34,182 online)
Rate this:
See more:
Hello

I need to find the closest string value from an table or array with 13000 record.

Is possible to use any function to get the exact or the closest value?
Posted 20-Apr-12 5:31am
Chauhan_Yatin 20-Apr-12 10:33am

means what u need?? canu explain more that i can try to solve that.??
losmac 20-Apr-12 11:23am

Rate this:

## Solution 1

Probably i need to use this function to compare 2 strings.

```Public Class Distance

''' <summary>

''' Compute Levenshtein distance

''' </summary>

''' <param name="s">String 1</param>

''' <param name="t">String 2</param>

''' <returns>Distance between the two strings.

''' The larger the number, the bigger the difference.

''' </returns>

Public Function LD(s As String, t As String) As Integer

Dim n As Integer = s.Length
'length of s
Dim m As Integer = t.Length
'length of t
Dim d As Integer(,) = New Integer(n, m) {}
' matrix
Dim cost As Integer
' cost
' Step 1

If n = 0 Then
Return m
End If

If m = 0 Then
Return n
End If

' Step 2

Dim i As Integer = 0
While i <= n

d(i, 0) = System.Math.Max(System.Threading.Interlocked.Increment(i), i - 1)
End While

Dim j As Integer = 0
While j <= m

d(0, j) = System.Math.Max(System.Threading.Interlocked.Increment(j), j - 1)
End While

' Step 3

For h As Integer = 1 To n

'Step 4

For f As Integer = 1 To m

' Step 5

cost = (If(t.Substring(f - 1, 1) = s.Substring(h - 1, 1), 0, 1))

' Step 6

d(h, f) = System.Math.Min(System.Math.Min(d(h - 1, f) + 1, d(h, f - 1) + 1), d(h - 1, f - 1) + cost)

Next
Next

' Step 7

Return d(n, m)

End Function

End Class```
Rate this:

## Solution 2

Using RegEx could be an approach that you could consider - http://www.dotnetperls.com/regex-match-vbnet[^].

Top Experts
Last 24hrsThis month
 Karthik Bangalore 330 Graeme_Grant 313 Maciej Los 125 Jochen Arndt 105 Bryian Tan 105
 OriginalGriff 3,863 Peter Leow 2,891 Karthik Bangalore 2,330 ppolymorphe 2,062 Richard MacCutchan 1,474