Как посчитать, сколько раз определенный символ появляется в текстовом файле перед другим конкретным символом? - PullRequest
0 голосов
/ 06 марта 2019

Есть ли способ подсчитать, сколько раз определенный символ появляется перед другим конкретным символом в текстовом файле?

Допустим, в моем текстовом файле написано следующее: ххх * ххх ~ ххх * ххх * ххх ~

Я хотел бы посчитать, сколько раз символ «*» появляется перед символом «~», и выполнить новый подсчет символов «*» до следующего символа «~» и т. Д.

Я был бы очень признателен за помощь, спасибо.

1 Ответ

2 голосов
/ 06 марта 2019
public static int FindCountOfCharBeforeAnotherChar(string text, char find, char findBefore)
{
    var indexOfFindBefore = text.IndexOf(findBefore);
    if (indexOfFindBefore < 1) return 0;
    var textBeforeMatch = text.Substring(0, indexOfFindBefore);
    return textBeforeMatch.Count(c => c == find);
}

[TestCase("aXa", 1)]
[TestCase("aaXa", 2)]
[TestCase("aaa", 0)]
[TestCase("Xaa", 0)]
public void FindsExpectedCharacterCount(string text, int expected)
{
    Assert.AreEqual(expected, FindCountOfCharBeforeAnotherChar(text, find:'a', findBefore:'X'));
}
...