Регулярка. Как после N пробела вставить слово?

  • Автор темы Автор темы backoff
  • Дата начала Дата начала

backoff

Client
Регистрация
20.04.2015
Сообщения
6 391
Реакции
6 674
Баллы
113
Есть строки текста, состоящие из 20-30 слов, между ними пробелы.
Как вставить слово в рандомный пробел, например от 3 до 25?

Или для удобства, как вставить слово в 3й пробел.

пример "ты мне нравился до смерти а я тебе а мы бы с тобой остальным а остальные"
надо получить "ты мне нравился слово до смерти а я тебе а мы бы с тобой остальным а остальные"

как?
 
можно так
Код:
Развернуть Свернуть Копировать
            string strStart = "ты мне нравился до смерти а я тебе а мы бы с тобой остальным а остальные";

            string[] strMass = strStart.Replace(" ", ":").Split(':');

            string strFinish = null;
            for (int i = 0; i < strMass.Length; i++)
            {
                if (i == 2) strFinish += "слова ";
                else strFinish += strMass[i] + " ";
            }
 
ну тогда так
string[] strMass = strStart.Split(' ');
 
выдает ответ ОК в переменной ... выборку слов трет

b7d46fd063.jpg
 
Последнее редактирование:
как переменные вставить?
за место текста - {-Variable.slova-}
за место 3 - рандомное число - {-Variable.rnd-}

спасибо

в экшене мой код, напротив "string strStart =" кликаете правую кнопку мышки и выбипаете последнее действие "вставить значение из переменной", это будет ваша стартовая строка, тоже самое делаете с двойкой с этой части кода "(i == 2)", это ваш третий пробел, не забывайте, что отсчёт идёт от нуля
в конце кода пропишите - return strFinish;
 
C#:
Развернуть Свернуть Копировать
var strStart = "ты мне нравился до смерти а я тебе а мы бы с тобой остальным а остальные";

var slovo = project.Variables["slovo"].Value;
string[] strMass = strStart.Split(' ');
string strFinish = null;

var rnd = new Random();
int r = rnd.Next(3, 10);

for (int i = 0; i < strMass.Length; i++)
{
    if (i == r)
    {
        strFinish += slovo + " ";
    }
    else
    {
        strFinish += strMass[i] + " ";
    }
}
project.Variables["strFinish"].Value = strFinish;
return strFinish;
 
  • Оценить
Реакции: backoff
ну так ты переменые пропиши в переменых, или у тебя они сами записываются
 

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