Обработка текста - замена

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

surrealmix

Client
Регистрация
07.03.2013
Сообщения
715
Реакции
409
Баллы
63
Нужно сделать уникальным текст. Т.е. в тексте заменить русские буквы р,е,о,а на похожие английские.
Можно ли это сделать в одно действие с помощью экшена Обработка текста - Замена.

Вот скриншот:http://clip2net.com/s/4QKTDs

Если можно, покажите пожалуйста шаблон регулярки.
 
1.jpg
 
Извините, я неправильно объяснил что мне нужно.
Как автоматически привести текст под номером 1 к виду под номером 2 средствами Зенно для дальнейшего использования в Spintax?

1) Привет, как дела?

2) П{р|p}ив{e|е}т, к{a|а}к д{е|e}л{а|a}

А то очень неудобно вносить правки в базу такого вида =)
 

Вложения

  • 9999999.jpg
    9999999.jpg
    109,1 KB · Просмотры: 1 039
Самое очевидное наверное...

Обработка текста -> Замена

Что искать - р
На что заменить - {р|p}

И так для все нужных букв
 
Самое очевидное наверное...

Обработка текста -> Замена

Что искать - р
На что заменить - {р|p}

И так для все нужных букв


А в одно действие никак? А то получается вот такая громоздкая конструкция:
911999999.jpg
 
скорее всего regex-ом можно, но тут я не помогу :)
 
  • Спасибо
Реакции: surrealmix
Можно через код С#

var yourText = project.Variables["your_variable_name"].Value;
return yourText.Replace("один","1").Replace("два","2").Replace("три","3").Replace("четыре","4");
 
Можно через код С#

var yourText = project.Variables["your_variable_name"].Value;
return yourText.Replace("один","1").Replace("два","2").Replace("три","3").Replace("четыре","4");

Спасибо! То что надо!


А если усложнить задачу:

Сразу заменить русские символы на конструкцию {русский символ|похожий на русский английский символ} ,а затем английские на такую же конструкцию, только исключая уже изменённые конструкции.
Т.е. чтобы не получилось так:
Машина Honda =>изменили и получили=> {М|M}{а|a}шин{а|a} Honda,
затем после этого преобразовали также слово Honda. Но если это сделать через код с-шарп приведённый выше, то получиться совсем не то что надо, т.к. при втором проходе поменяется первое слово.
=> {М|M}{а|{а|а}}шин{а|{а|а}} {H|Н}{o|о}nd{а|a}
 
Спасибо! То что надо!


А если усложнить задачу:

Сразу заменить русские символы на конструкцию {русский символ|похожий на русский английский символ} ,а затем английские на такую же конструкцию, только исключая уже изменённые конструкции.
Т.е. чтобы не получилось так:
Машина Honda =>изменили и получили=> {М|M}{а|a}шин{а|a} Honda,
затем после этого преобразовали также слово Honda. Но если это сделать через код с-шарп приведённый выше, то получиться совсем не то что надо, т.к. при втором проходе поменяется первое слово.
=> {М|M}{а|{а|а}}шин{а|{а|а}} {H|Н}{o|о}nd{а|a}

Вопрос актуален.
 
Вопрос актуален.
 
{а|{а|а}} такая конструкция тоже будет обрабатываться в спинтаксе.
По другому не вижу тут вариантов как сделать.
 
  • Спасибо
Реакции: surrealmix
Можно через код С#

var yourText = project.Variables["your_variable_name"].Value;
return yourText.Replace("один","1").Replace("два","2").Replace("три","3").Replace("четыре","4");

Я думал может можно такой же конструкцией прогнать текст второй раз но с исключением конструкций созданных ранее (написать в коде исключения - мол обрабатывать всё, но некоторое пропускать). Большое спасибо, Daniilneet, за помощь!
 

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