Узнать позиции слова в тексте - C#
Формулировка задачи:
Есть предложение. Пользователь вводит слово и необходимо показать позиции это слова в тексте. Сложность в том что это слово может находиться в тексте несколько раз и необходимо узнать все позиции этого слова. Как это сделать?
Решение задачи: «Узнать позиции слова в тексте»
textual
Листинг программы
using System;
using System.Collections.Generic;
namespace FindText
{
class Prog
{
static void Main()
{
string text = "111 sdfv wef 111 sdfvdf 111 sdfv 111";
string key = "111";
foreach(int index in GetIndexes(text, key))
{
Console.WriteLine(index);
}
Console.ReadKey();
}
static IEnumerable<int> GetIndexes(string text, string key)
{
int index=-1;
do
{
index = text.IndexOf(key, index + 1);
if (index>=0) yield return index;
}
while (index >= 0);
}
}
}