Вам необходимо экранировать символ (
, поскольку он имеет специальную функцию в регулярных выражениях:
var test = Regex.Matches("Nachricht erhalten (3)", @"Nachricht erhalten \(", RegexOptions.IgnoreCase).Count;
Если вы делаете это с помощью пользовательского ввода, когда пользователь не знаком с регулярными выражениями вам, вероятно, легче использовать IndexOf
в while
l oop, где вы продолжаете использовать новый индекс, найденный в последнем l oop. Что также может быть немного лучше по производительности, чем регулярное выражение. Пример:
var test = "This is a test";
var searchFor = "is";
var count = 0;
var index = test.IndexOf(searchFor, 0);
while (index != -1)
{
++count;
index = test.IndexOf(searchFor, index + searchFor.Length);
}