Jak sprawdzić czy podany znak występuje w słowie więcej niż raz?

0

Witam,
Jak najprościej sprawdzić czy w stringu podany znak (np kropka) wystąpił więcej niż jeden raz?
Próbuję

Regex.Matches(string, ".").Count > 1)

ale nie działa.
Proszę o jakąś wskazówkę.

dodanie znacznika <code class="csharp"> - fp

1
string input = "test test tststs test test test";

if (Regex.Matches(input, "test").Count > 0)
{
     Console.WriteLine(Regex.Matches(input, "test").Count);
}

Na szybko zrobiłem tak i działa. Nie znam do końca Regex, ale czy kropka nie jest jakimś znakiem sterującym?

2

. jest znakiem wiodącym, który dla Regex'a oznacza po prostu wszystko.
Możesz to obejść tak:

Regex.Matches(input, @"\.").Count 

Ale czy jest sens używać wyrażenia regularnego dla jednego znaku?
Linq pozwala Ci to zrobić przyjemniej:

int count = input.Count(s => s == '.');

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