Zliczanie wystąpień wyrazów

0

Zliczać coś tam zlicza ale chciałbym się dowiedzieć jak najłatwiej wykluczyć np. ' - ', ' , '.

class Program
    {
        static void Main(string[] args)
        {
            string text = "Kiedy idzie się po miód z balonikiem, to trzeba się starać, żeby pszczoły nie wiedziały, po co się idzie – odpowiedział Puchatek";

            string[] words = text.Split(' ');
            int[] counter = new int[words.Length];

            for (int i = 0; i < words.Length; i++)
            {
                foreach (var word in words)

                    if (words[i] == word)
                    {
                        counter[i] += 1;
                    }

                if (counter[i] > 0)
                    Console.WriteLine("Wyraz " + words[i] + " wystapił " + counter[i] + " razy");
            }
          
            
        }
    }
}
0

W jakim sensie wykluczyć?

0
string[] words = text.Split(' ', ' - ', ', ');
0

Próbowałem tego i pokazuje błąd : Za wiele znaków w literale znakowym

0

To daj podwójne cudzysłowy, a nie pojedyncze.

0

Zrób tak:

string[] words = text.Split(new[] {' ', ',', '.', '-','\n'}, StringSplitOptions.RemoveEmptyEntries);

Będzie niewrażliwy na alamakota,a kot ma rysia, podwójne spacje, entery itd.

EDIT:
W zasadzie problem jest tak prosty, że google zwraca mnóstwo wyników. Tutaj jest ciekawe rozwiązanie:
http://stackoverflow.com/questions/19031118/c-sharp-how-to-get-words-from-string

Tutaj cała strona poświęcona String.Split:
http://www.dotnetperls.com/split

Oczywiście szukałeś, wiemy :P

1 użytkowników online, w tym zalogowanych: 0, gości: 1