vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Ähnlichkeit zweier Strings in Prozent 
Autor: CALChris
Datum: 29.08.08 09:56

Ich weiß nicht ob es richtig ist bzw. funktioniert..

        Dim Orginal As String = "Hallo Welt"
        Dim Vergleich As String = "Halllo Welt"
 
        Dim Treffer As Decimal = 0.0
        Dim Überspringen As Boolean
 
        For i As Integer = 0 To Orginal.Length
            Try
                If Orginal.Chars(i) = Vergleich.Chars(i) Then
                    Treffer += 1
                    Überspringen = True
                End If
            Catch ex As Exception
            End Try
            Try
                If Orginal.Chars(i) = Vergleich.Chars(i - 1) Or Orginal.Chars( _
                  i) = Vergleich.Chars(i + 1) Then
                    Treffer += 0.5
                    Überspringen = True
                End If
            Catch ex As Exception
            End Try
            Try
                If Orginal.Chars(i) = Vergleich.Chars(i - 1) Or Orginal.Chars( _
                  i) = Vergleich.Chars(i - 1) Then
                    Treffer += 0.25
                    Überspringen = True
                End If
            Catch ex As Exception
            End Try
            If Not Überspringen Then
                Treffer -= 0.5
            End If
            Überspringen = False
        Next
 
        Dim Prozent As Decimal = Treffer * 10
        MsgBox(Prozent & "% Übereinstimmung")
Quelle: http://forum.de.selfhtml.org/archiv/2002/4/t9377/

 Vergleicht zwei Strings und gibt die Übereinstimmung 
' gleicher Wörter in Prozent zurück
Public Function Vergleichen(ByVal String1 As String, _
  ByVal String2 As String) As Integer
 
  Dim DC As Integer
  Dim nPercent As Integer = 0
 
  ' Zählt die übereinstimmenden Wörter
  Dim Treffer As Integer
 
  ' alle Satzzeichen entfernen
  String1 = System.Text.RegularExpressions.Regex.Replace(String1, "[\.,!?;:]", _
    "")
  String2 = System.Text.RegularExpressions.Regex.Replace(String2, "[\.,!?;:]", _
  "")
 
  ' Alle Wörter des 1.Satzes
  Dim Words1() As String = Split(String1.Trim.ToUpper, " ")
 
  ' Alle Wörter des 1.Satzes
  Dim Words2() As String = Split(String2.Trim.ToUpper, " ")
 
  ' Jedes Wort in 1. Satz  durchlaufen
  For i As Integer = 0 To Words1.Length - 1
    If Not Words1(i) = "" Then
      ' Jedes Wort in 1. Satz  mit den Worten im 2. Satz Vergleichen
      For j As Integer = 0 To Words2.Length-1
        If Not Words2(j) = "" Then
          If Words1(i) Like Words2(j) Then
            Treffer += 1
            Exit For
          End If
        End If
      Next j
    Else
      DC += 1
    End If
  Next i
 
  For d As Integer = 0 To Words2.Length - 1
    If Words2(d) = "" Then DC += 1
  Next d
 
  ' vom Längeren Satz ausgehen
  If Words1.Length >= Words2.Length Then
    If Words1.Length - DC > 0 Then
      nPercent = (Treffer * 100 / (Words1.Length - DC))
    End If
  Else
    If Words2.Length - DC > 0 Then
      nPercent = (Treffer * 100 / (Words2.Length - DC))
    End If
  End If
 
  ' Prozentuale Übereinstimmung zurückgeben
  Return nPercent
End Function
Quelle:http://www.vbarchiv.net/tipps/tipp_1784.html

Ich hoffe ich konnte dir helfen.

mfg

Beitrag wurde zuletzt am 29.08.08 um 10:01:38 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Ähnlichkeit zweier Strings in Prozent7.947cgiesen28.08.08 17:30
Re: Ähnlichkeit zweier Strings in Prozent6.625CALChris29.08.08 09:56

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel