- Регистрация
- 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;
Подскажите что поправить, что бы замена происходила только по целому слову.