найти количество подстрок в строке C # - PullRequest
0 голосов
/ 27 августа 2018

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

IEnumerator OnMouseDown()
{


    string GatheredData;
    StringToFind = "Serotonin"

    string url = "https://en.wikipedia.org/wiki/Dopamine";

    WWW www = new WWW(url);
    yield return www;
    GatheredData = www.text;


    //Attempted methods below

    M1_count = GatheredData.Contains(StringToFind);

    M1_count = GatheredData.Count(StringToFind);

    M1_count = GatheredData.IndexOf(StringToFind);



}

Я могу легко использовать данные изэти методы 1 и 3, когда я сообщаю ему, какое число в индексе и метод 2 будет работать, но работает только для символов, а не для строк

Я проверил онлайн и здесь, но ничего не нашел, чтобы найти счетчик StringToFind

Ответы [ 3 ]

0 голосов
/ 27 августа 2018

Возможным решением будет использование Regex:

var count = Regex.Matches(GatheredData.ToLower(), String.Format("\b{0}\b", StringToFind)).Count;
0 голосов
/ 27 августа 2018

Предположим, что строка похожа на эту

string test = "word means collection of chars, and every word has meaning";

, затем просто используйте регулярное выражение, чтобы узнать, сколько раз слово встречается в вашей строке test, например,

int count = Regex.Matches(test, "word").Count;

будет 2

0 голосов
/ 27 августа 2018

О, да, у меня есть это сейчас.

Я разделю () массив и получу длину

2-го числа, до которого я буду IndexOf, пока не верну -1

Спасибо за помощь в комментариях!

...