Avatar billede multicoder Nybegynder
03. juni 2003 - 10:10 Der er 13 kommentarer og
1 løsning

hvor ens indholdet i to variabler er.

Hej

Findes der en funktion som kan bruges til og se hvor ens indholdet i to variabler er.

Hvis jeg fx har Variable1 = ”Firmanavn A/S”  og  variable2 = ”Firmanavn”
Eller Variable1 = ”Firma-navn”  og Variable2 = ”Firmanavn”

Så skal den kunne sige at de er x antal % ens.

Pft
Avatar billede jrl0469 Nybegynder
03. juni 2003 - 10:17 #1
Taget direkte fra vb hjælp

Option Compare Statement Example
This example uses the Option Compare statement to set the default string comparison method. The Option Compare statement is used at the module level only.

' Set the string comparison method to Binary.
Option compare Binary    ' That is, "AAA" is less than "aaa".
' Set the string comparison method to Text.
Option compare Text  ' That is, "AAA" is equal to "aaa".
Avatar billede multicoder Nybegynder
03. juni 2003 - 10:42 #2
Hej

Det er desværre ikke helt nok.
Det virker okay hvis det fx er Firmanavn og firmanavn  men ikke hvis det er Firmanavn og Firma-navn
Avatar billede jrl0469 Nybegynder
03. juni 2003 - 10:49 #3
Det bør da virke ved binær samligning?
Avatar billede multicoder Nybegynder
03. juni 2003 - 10:55 #4
Kan godt være det bare er mig. her er det jeg har prøvet

' Set the string comparison method to Binary.
Option Compare Binary    ' That is, "AAA" is less than "aaa".
' Set the string comparison method to Text.
' Option Compare Text  ' That is, "AAA" is equal to "aaa".
'

Sub ErEns()

If Range("A1").Value = Range("B1").Value Then
    MsgBox "de er ens"
Else
    MsgBox "de er ikke ens"
End If

End Sub
Avatar billede jrl0469 Nybegynder
03. juni 2003 - 10:56 #5
opret et modul og indsæt
Option Compare Binary


Public Sub test()
If "firma-fest" = "firma-fest" Then '<-> "Firma-fest" = "firma-fest"
MsgBox "ok"
Else
Msgbox "ikke ok"
End Sub

prøv at bytte efter een kørsel
Avatar billede jrl0469 Nybegynder
03. juni 2003 - 10:57 #6
Når ja, du mangler vist at deklarerer!
Avatar billede multicoder Nybegynder
03. juni 2003 - 11:23 #7
Det virker som det skal men hvis nu det er "Firmanavn" og "Firmanavn A/S"
Så skal den kunne se at de er næsten ens.
Kan være jeg skal lave noget med at den fjerner alt hvad der hedder ” ”, ”-”,”A/S”,”Aps”, osv
inden jeg sammenligner dem.
Avatar billede jrl0469 Nybegynder
03. juni 2003 - 11:27 #8
f.eks. vil :
longVar = instr(streng,"A/S")
returnere A's position
Avatar billede multicoder Nybegynder
03. juni 2003 - 11:39 #9
Har du en funktion der så kan gå ind og slette tegn i en string
Hvis den med longVar = instr(streng,"Firmanavn A/S"). siger at A/S starter ved tegn 11
Så skal den kunne slette fra tegn 11 og 3 frem.
Avatar billede nop Nybegynder
03. juni 2003 - 11:41 #10
Først skal du strippe for special tegn og blanke (fjerne dem), i praksis alle ikke bogstaver (husk at fx û osse er et bogstav), gøre det hel til småt/stort og så lave til soundex format, så kan du sammenligne som normalt. Men fx "firma a/s" og "firma" er stadig forskellige, derfor er det måske smart at fjerne enhver forekomst af a/s, i/s, aps, k/s osv (lav en liste), før man laver til soundex. Jeg har ikke nogen funktion i vb der laver soundex men prøv at søge på nettet, men det er meget simpelt; første bogstav beholdes, vokaler skippes, konsonater grupperes efter lyd, m og n er fx ens, og gruppen gives et tal; m/n er 5, r=6, og man lader alle ord fylde 3 grupper, så firma bliver (kan blive, bare det altid er ens jo) f-650.
Se osse http://gatons.com/~teaser/javascript/soundex.html hvor du kan tage source koden i java direkte.
Avatar billede nop Nybegynder
03. juni 2003 - 11:43 #11
Bemærk at hvis en gruppe optræder to eller flere gange i træk så opføres gruppen kun én gang i soundex strengen, fx Frrraug = Fraug (i soundex altså).
Avatar billede jrl0469 Nybegynder
03. juni 2003 - 11:49 #12
streng = "Firmanavn A/S" find start pos for "A/S"
nystreng=mid( streng,1,longVar)
trim(nystreng) => nystreng="Firmanavn"
Avatar billede venne Nybegynder
03. juni 2003 - 11:53 #13
Du kan også prøve Levenshtein Distance-algoritmen: http://www.merriampark.com/ld.htm

Den beregner hvor ens to strenge er, ud fra hvor mange tegn der skal tilføjes, fjernes eller ændres for at gå fra den ene til den anden.
Avatar billede multicoder Nybegynder
10. november 2003 - 13:18 #14
vi lukker her
jeg takker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester