Уникализация текста по средством C#

boris.lyashuk

Client
Регистрация
07.07.2018
Сообщения
24
Благодарностей
1
Баллы
3
Нашел на форуме код. Который берёт к примеру каждое 3-е слово и если есть такое слово в тексте то заменяет его
C#:
string text1 = project.Variables["tekst"].Value; //переменная

var list = project.Lists["Replace_Words"];//список с ключами
Random rnd1 = new Random();

string[] ArrayText = text1.Split(' ');

text1 = "";

for (int j = 0; j < ArrayText.Length-1; j++)
{
    if (j % int.Parse(project.Variables["NumberReplaceWord"].Value) == 0) //переменная от куда будет браться номер слова, чтобы он не все слова заменял к примеру а каждое 3-е
    {
        bool setWord=false;
      
        for (int i = 0; i < list.Count; i++)
        {
            string lst = list[i];

            string[] ArrayWords = lst.Split('|');

            if(ArrayText[j].IndexOf(ArrayWords[0])!=-1)
            {
                text1 += ArrayText[j].Replace(ArrayWords[0],ArrayWords[rnd1.Next(1, ArrayWords.Length)]) + " ";
                setWord = true;
                break;
            }
        }
      
        if(!setWord)
        {
            text1 += ArrayText[j] + " ";
        }
    }
    else
    {
        text1 += ArrayText[j] + " ";
    }
}

text1 += ArrayText[ArrayText.Length - 1];

return text1;
Но берет не все слово целиком, а любое совпадение встречаемое в слове.
Подскажите что поправить, что бы замена происходила только по целому слову.
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)