Geek tričko zdarma Geek tričko zdarma
Tričko zdarma! Stačí před dobitím bodů použít kód TRIKO15. Více informací zde

Diskuze: Počet slov ve stringu

Aktivity (4)
Avatar
Insight
Člen
Avatar
Insight:6. února 17:51

Snažím se vymyslet algoritmus, který spočítá počet slov v řetězci. Slova jsou oddělena jednou nebo více mezerami. Ovšm k ničemu jsem nedošel. Pomůže mi prosím někdo? Diky moc

Zkusil jsem: Přemyšlel jsem nad tim, ale nic mě nenapadlo.

Chci docílit: Nalézt funkční algoritmus.
Děkuji

Editováno 6. února 17:52
 
Odpovědět 6. února 17:51
Avatar
Odpovídá na Insight
Michael Škrášek:6. února 18:19

Jednoduše, rozdělíš text po mezerách a kontroluješ jestli nebyly 2 mezery vedle sebe.

př.

string text = "slovo a slova další tři slova  dvě mezery";
List<string> slova = text.Split(' ').Where(w => w.Length > 0).ToList();

Console.WriteLine(text);
Console.WriteLine("počet slov: {0}", slova.Count);
Editováno 6. února 18:19
Nahoru Odpovědět 6. února 18:19
I choose a lazy person to do a hard job. Because that person will find an easy way to do it ... Bill Gates
Avatar
Odpovídá na Insight
Michael Škrášek:6. února 18:25

Pokud sis chtěl algoritmus naprogramovat uplně sám, mohl by vypadat nějak takhle:

char last = text[0];
int count = 1;
for (int i = 1; i < text.Length; i++)
{
    char chr = text[i];
    if (chr == ' ' && last != ' ')
        count++;
    last = chr;
}

Console.WriteLine("počet slov: {0}", count);
Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět  +1 6. února 18:25
I choose a lazy person to do a hard job. Because that person will find an easy way to do it ... Bill Gates
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Odpovídá na Michael Škrášek
Andy Scheuchzer:6. února 18:34

S tou kontrolou… https://docs.microsoft.com/…string.split?…
Edit: A asi by ještě bylo dobré použít trim (nebo ho udělat sám) :-)

Editováno 6. února 18:37
Nahoru Odpovědět  +1 6. února 18:34
Člověk, co si myslí, že snědl všechnu moudrost světa, i když tomu tak není.
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:6. února 20:03

V php by slo tez pouzit
$pocet = preg_match_all("~\w+~sx", $str);

 
Nahoru Odpovědět  -1 6. února 20:03
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.