Как перемешать слова в строке?

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

AndreyAAA

Client
Регистрация
07.05.2016
Сообщения
1 269
Реакции
82
Баллы
48
Как в переменной в которой текст, поменять слова местами,перемешать их как-нибудь?
 
Вот вики по обработке текста http://zennolab.com/wiki/ru:actions:text

Поможет расширенный SPINTAX(галочку поставь).

Код:
Развернуть Свернуть Копировать
Вот пример предложения, в котором надо поменять слова.
Нам нужно создать такую конструкцию.
Код:
Развернуть Свернуть Копировать
[Вот |пример |предложения, |в |котором |надо |поменять |слова].
Данная конструкция меняет местами все слова, кроме точки.

Как это сделать? Исползуем екшн замена.
Заменить {-String.Space-}
на {-String.Space-}|
 
  • Оценить
Реакции: Lover
Т.е. надо сделать 2 действия?
1 в пробелы поставить |
2 а потом через расширенный спинтакс перемешать?
 
Спасибо, сейчас попробую)
 
  • Оценить
Реакции: Mikhail B.
А вот как положить в скобки забыл спросить.
 
Подскажите как в зенке на C# или стандартными возможностями можно:
поменять слова местами в переменной - name
исходный текст - Саймак Клиффорд
Сделать так - Клиффорд Саймак

Но если будет так: Саймак Клиффорд Младший, то чтобы так - Клиффорд Саймак Младший
т.е 3тье слово всегда оставалось третим
 
ну если сильно не заморачиваться, то определить сколько слов, если 2 то меняем местами, если три то первые два меняем
 
  • Оценить
Реакции: Sergodjan
Код:
Развернуть Свернуть Копировать
string str = project.Variables["name"].Value;
var qqq = str.Split(' ').ToList();
string q1 = qqq[0];
string q2 = qqq[1];
string q3 = qqq[2];
project.Variables["name"].Value = q2+" "+q1+" "+q3;

Есть такой код, но он работает только с 3мя словами, если 2 слова - то выдаёт ошибку
 
Код:
Развернуть Свернуть Копировать
string str = project.Variables["name"].Value;
var qqq = str.Split(' ').ToList();
string q1 = qqq[0];
string q2 = qqq[1];
string q3 = qqq[2];
project.Variables["name"].Value = q2+" "+q1+" "+q3;

Есть такой код, но он работает только с 3мя словами, если 2 слова - то выдаёт ошибку
после строки 2 поставь if, если больше 2 то твой код должен отработать, если меньше то две строки только меняй
 
а можно код пожалуйста?
C#:
Развернуть Свернуть Копировать
string str = "Саймак Клиффорд";
string[] qqq = str.Split(' ');
if (qqq.Length > 2)
{
    string q1 = qqq[0];
    string q2 = qqq[1];
    string q3 = qqq[2];
    return q2+ " " +q1+ " " +q3;
}
else
{
    string q1 = qqq[0];
    string q2 = qqq[1];
    return q2+ " " +q1;
}
 
C#:
Развернуть Свернуть Копировать
string str = "Саймак Клиффорд";
string[] qqq = str.Split(' ');
if (qqq.Length > 2)
{
    string q1 = qqq[0];
    string q2 = qqq[1];
    string q3 = qqq[2];
    return q2+ " " +q1+ " " +q3;
}
else
{
    string q1 = qqq[0];
    string q2 = qqq[1];
    return q2+ " " +q1;
}

можно пример с переменной?
P.s разобрался, огромное спасибо
 
ну или так

C#:
Развернуть Свернуть Копировать
string str = "Саймак Клиффорд";
string[] arr = str.Split(' ');
if (arr.Length > 2)
{
    return arr[1] + " " + arr[0] + " " + arr[2];
}
else
{
    return arr[1] + " " + arr[0];
}
 
  • Оценить
Реакции: Uralbox

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