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
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
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?
.
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 == '.');