Avatar billede mulemule Nybegynder
24. oktober 2005 - 14:19 Der er 10 kommentarer

Tæl antal string forekomster i string.

Hvis jeg har en string s og en anden string s2. Er der så en enkelt metode hvormed jeg kan tælle antalet af forekomster af s2 inde i s ?

Mvh
Avatar billede iblarsen Praktikant
24. oktober 2005 - 14:20 #1
Prøv med s.IndexOf
Avatar billede the_party_dog Nybegynder
24. oktober 2005 - 14:21 #2
Mener ikke antallet er nemt, men om s2 findes i s, er meget nemt.

if(s.IndexOf(s2) > 0)
{

}
Avatar billede arne_v Ekspert
24. oktober 2005 - 14:27 #3
forslag:

        public static int CountOccur(string str, string substr)
        {
            int res = 0;
            int ix = 0;
            while((ix = str.IndexOf(substr, ix)) >= 0)
            {
                ix += substr.Length;
                res++;
            }
            return res;
        }
Avatar billede mulemule Nybegynder
24. oktober 2005 - 14:27 #4
Tak jeg klarer det, det var mere om der var en egentlig metode.
Avatar billede mulemule Nybegynder
24. oktober 2005 - 14:29 #5
Har selv digtet nedenstående.

public static int countOccurences(string s1, string s2)
{
int i = 0;
int e = 0;
while (true)
{
  e = s1.IndexOf(s2,e);
  if (e==-1) return i;
  i++;
}
}
Avatar billede mulemule Nybegynder
24. oktober 2005 - 14:34 #6
hov i min skal der lige en e++ ind efter i++. Og så kan jeg ikke lige gennemsku om den virker ok hvis s2 har length 1 eller 0.
Avatar billede plx Nybegynder
24. oktober 2005 - 21:58 #7
En alternativ udgave:

public static int countOccurences(string s1, string s2)
{
    return System.Text.RegularExpressions.Regex.Split(s1, System.Text.RegularExpressions.Regex.Escape(s2)).Length-1;

}
Avatar billede mulemule Nybegynder
04. november 2005 - 14:45 #8
husk at svar i svar for at få point. Undskyld forstyrelsen.
Avatar billede arne_v Ekspert
04. november 2005 - 15:02 #9
hvem vil du have svar fra ?
Avatar billede roenving Novice
04. november 2005 - 15:16 #10
-- jeg ville også straks tænke på en regex, måske hente det rigtige tal direkte ved at returnere antallet af matches !-)
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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