Avatar billede charmekbh Nybegynder
10. marts 2001 - 00:16 Der er 2 kommentarer og
1 løsning

Find streng i streng? Evt. brug af count - begynderspørgsmål

Hej Alle Perl\'s

Jeg har et problem. Jeg skal finde ud af hvor mange gange et par strenge optræder i en større streng.

Jeg skal finde ud af hvor mange gange strenge med 3 ord optræder i en større streng. Det skal derefter vises hvor mange gange hver sætning har optrådt i den større sætning.

F.eks.:
Hovedstreng:
Vejret var godt i torsdags, og familien besluttede at tage en tur i skoven. At tage en tur i skoven er godt.

sammenlignings-sætninger:
vejret var godt
at tage en
skoven er fedt

Output af funktionen:
1 vejret var godt
2 at tage en
0 skoven er fedt

Hjææææælp....
Avatar billede erikjacobsen Ekspert
10. marts 2001 - 02:04 #1
$hovedstreng = \"Vejret var godt i torsdags, og familien besluttede at tage en tur i skoven. At tage en tur i skoven er godt.\";

push(@streng,\"vejret var godt\");
push(@streng,\"at tage en\");
push(@streng,\"skoven er fedt\");

for $s (@streng) {
  $count=0;
  $kopi = $hovedstreng;
  $kopi =~ s/$s/$count++/gei;
  print \"$count $s\\n\";
}
Avatar billede charmekbh Nybegynder
11. marts 2001 - 15:51 #2
Gider du ikke være venlig også at forklare nøjagtig hvad de forskellige funktioner og parametre gør.

eksempelvis:
hvad gør push nøjagtigt

og hjælpe lidt med din forsætning....

Ellers tusind tak for hjælpen.
Avatar billede erikjacobsen Ekspert
13. marts 2001 - 14:04 #3
Nåh, forklare.... jo...

push lægger bare en række strenge ind i et
array, så de er nemme at få fat på igen.
Ovenstående bevirker at $streng[0]=\"vej...\" og
$streng[1]=\"at...\" og $streng[2]=\"sko...\".

for-løkken tager dem så en af gangen ud igen
i $s, som du kan se i udskriften.

Det sjove sker så i det regulære udtryk, hvor
jeg leder efter $s, og hver gang den mødes
tæller $count én op. Det er \"e\"-er i \"gei\", der
gør, at man kan udføre den $count++
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