Avatar billede c-lund Nybegynder
02. oktober 2006 - 16:41 Der er 12 kommentarer og
1 løsning

Fjern ord fra tekst

Hey
jeg har fundet følgende her på exp, som jeg bruger til at fjerne en række ord fra en tekst, men desværre fjerne den også "vi" fra "visitkort" hvordan for man den til at lade være med det

ulovligeord = "en|med|mig|der|som|et|hvis|er|har|vi|alle|for|mange|gode|eller|måske|tage"
           
Set regEx = New RegExp
regEx.Global = true
regEx.IgnoreCase = True
           
regEx.Pattern = "(^|[^a-z])" & ulovligeord & "([^a-z]|$)"
Searchfield = regEx.Replace (Beskrivelse, "$1$2")
Set regEx = Nothing
Avatar billede cyberkox Nybegynder
02. oktober 2006 - 22:19 #1
Nu har jeg ikk lige forstand på regEx, men jeg vil da tro at du bar fjerner vi i listen over ulovligeord:

ulovligeord = "en|med|mig|der|som|et|hvis|er|har|alle|for|mange|gode|eller|måske|tage"
Avatar billede c-lund Nybegynder
02. oktober 2006 - 22:23 #2
nej, for hvis "vi" står alene, vil skal det jo fjernes, den fjerner også "som" i sommer
Avatar billede cyberkox Nybegynder
02. oktober 2006 - 23:33 #3
Nååå!.. DU gør vel bar sådan så: (altså mellemrum efter ulovligeord & "

regEx.Pattern = "(^|[^a-z])" & ulovligeord & " ([^a-z]|$)"
Searchfield = regEx.Replace (Beskrivelse, "$1$2")
Set regEx = Nothing

Ellers må du jo lave mellemrum i listen over ulovligeord:

ulovligeord = "en |med |mig |der |som |et |hvis |er |har |vi |alle |for |mange |gode |eller |måske |tage "
Avatar billede c-lund Nybegynder
03. oktober 2006 - 12:35 #4
det virker ikke ordenligt, hvis jeg gør sådan her, så fjerner den ikke som i sommer, men tilgængæld trækker den sætningen sammen dvs. at:
visitkort på en varm sommer dag som et hvis her til
blev til:
visitkort påvarm sommer dagether til
ulovligeord = " en | med | mig | der | som | et | hvis | er | har | vi | alle | for | mange | gode | eller | måske | tage "
Avatar billede madssch Nybegynder
03. oktober 2006 - 14:36 #5
Hvad med:

Replace(ulovligeord, "| hvis |", "|")

Det vil fjerne ordet "hvis" fra variablen "ulovligeord".

På samme måde vil Replace(ulovligeord, "| vi |", "|") fjerne ordet "vi", men ikke "visitkort".
Avatar billede c-lund Nybegynder
03. oktober 2006 - 14:40 #6
fjener det ikke bare "vi" fra listen over ulovlige ord?
Avatar billede madssch Nybegynder
03. oktober 2006 - 14:50 #7
Den fjerner | vi | fra ulovlige ord. Og indsætter | på samme position så din streng forbliver intakt.
Avatar billede c-lund Nybegynder
03. oktober 2006 - 14:57 #8
ulovligeord er listen over de ord der skal fjernes fra sætningen:
Beskrivelse = "visitkort på en varm sommer dag som et hvis her til"
Avatar billede madssch Nybegynder
03. oktober 2006 - 15:09 #9
Ok, det havde jeg misforstået.

Kan du ikke splitte ulovligeord op i et array og løbe igennem det så?

arrUlovligeOrd = Split(ulovligeord, " | ")

For i = 0 To UBound(arrUlovligeOrd)

Beskrivelse = Replace(Beskrivelse, " " & arrUlovligeOrd & " ", "")

Next

...Eller noget i den stil...
Avatar billede c-lund Nybegynder
03. oktober 2006 - 16:47 #10
den fjerner også vi i visitkort
Avatar billede madssch Nybegynder
03. oktober 2006 - 17:14 #11
Virker denne ikke?

ulovligeord = "|en|med|mig|der|som|et|hvis|er|har|vi|alle|for|mange|gode|eller|måske|tage|"

Beskrivelse = "Vil du tage med mig til stranden?"

arrUlovligeOrd = Split(ulovligeord, "|")

For i = 1 To (UBound(arrUlovligeOrd) - 1)

Beskrivelse = Replace(Beskrivelse, " " & arrUlovligeOrd(i) & " ", " ")

Next

Resultat: Vil du til stranden?
Avatar billede c-lund Nybegynder
03. oktober 2006 - 17:25 #12
jo det gør det, mærkeligt, havde åbenbart ikke testet godt nok. tak
Avatar billede madssch Nybegynder
03. oktober 2006 - 17:30 #13
Velbekom!
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