ERLEDIGT
JA
JA
ANTWORTEN
3
3
ZUGRIFFE
1855
1855
EMPFEHLEN
-
16.03.06 16:08 #1
- Registriert seit
- Jul 2003
- Ort
- Gronau, Nordrhein-Westfalen, Germany, Germany
- Beiträge
- 634
Hey...
Ich hab da mal eine kleine Frage...
Ich möchte 2 Strings vergleichen, die vllt. nur ungefähr gleich sind, also das sich max. 2 Zeichen unterscheiden.
Weiß einer wie das geht?
Meine Idee war die Strings zu splitten, jedes Zeichen einzeln zu vergleichen und die Fehler zu zählen, etwas umständlich oder
?
Danke!
-
16.03.06 18:43 #2
- Registriert seit
- Jul 2003
- Ort
- Gronau, Nordrhein-Westfalen, Germany, Germany
- Beiträge
- 634
Okay, ich habs nun mit der Splitting-Technik gelöst!
Falls es noch jemanden interessiert, hier ist der Code:
Code vb:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
Public Declare Function lstrlen Lib "kernel32.dll" _ Alias "lstrlenA" (ByVal lpString As Any) _ As Long Public Function singleLetters(ByVal str As String) As String() Dim ln As Integer Dim i As Integer Dim arr() As String ln = lstrlen(str) If ln = 0 Then ln = 1 ReDim arr(0 To ln - 1) As String For i = 1 To ln Step 1 arr(i - 1) = Mid(str, i, 1) Next i singleLetters = arr End Function Public Function compareStrings(ByVal str1 As String, ByVal str2 As String, ByVal collisions As Integer) As Boolean Dim a1() As String Dim a2() As String Dim ls1 As Integer Dim ls2 As Integer Dim errors As Integer Dim i As Integer Dim x As Integer errors = 0 a1 = singleLetters(str1) a2 = singleLetters(str2) ls1 = lstrlen(str1) ls2 = lstrlen(str2) If ls1 > ls2 Then x = ls1 ElseIf ls2 > ls1 Then x = ls2 Else x = ls1 End If For i = 0 To x - 1 Step 1 On Error Resume Next If i > ls1 Or i > ls2 Then errors = errors + 1 Else If a1(i) <> a2(i) Then errors = errors + 1 End If Next i If errors > collisions Then compareStrings = False Else compareStrings = True End If End Function
-
Hallo,
Wenn du die exakten Unterschiede feststellen willst, fällt mir auch nichts besseres ein.
Aber es gibt einen 'Like'-Befehl, da kannst du die Ähnlichkeit prüfen.
Code :1 2 3 4 5 6 7 8
Dim String1, String2 String1 = "Das ist ein Text" String2 = "Das ist auch ein Text" If String1 Like "Das ist*ein Text" = True Then ' * ... irgendwelche Zeichen. ... End If
Signatur wird geladen...
-
18.03.06 16:25 #4
- Registriert seit
- Jul 2003
- Ort
- Gronau, Nordrhein-Westfalen, Germany, Germany
- Beiträge
- 634
Ja, "Like" ist mir bekannt, nur konnte man es damit ja wie du auch sagtest leider nicht lösen

Trotzdem danke!
Ähnliche Themen
-
Actionscript 2.0 - Textfeld untersuchen?
Von SonMiko im Forum Flash PlattformAntworten: 3Letzter Beitrag: 05.07.09, 20:17 -
PL/SQL mit Oracle 10g: Trigger erstellen, tabelle bei gleichheit eines Strings füllen
Von macgyver4711 im Forum Relationale DatenbanksystemeAntworten: 0Letzter Beitrag: 16.02.09, 20:10 -
[]Trigger erstellen, Tabelle bei Gleichheit eines Strings füllen
Von macgyver4711 im Forum Relationale DatenbanksystemeAntworten: 0Letzter Beitrag: 16.02.09, 18:04 -
Nur ungefähre if-Bedingung
Von z0oL im Forum PHPAntworten: 4Letzter Beitrag: 02.08.04, 11:52 -
text auf bestimmte Wörter untersuchen ?
Von altelulex im Forum Visual Basic 6.0Antworten: 2Letzter Beitrag: 13.04.04, 14:51





Zitieren
Login





