Тема: AHK: возможность использования RegExReplace без «Найти и заменить»
Уважаемые форумчане, я работаю в программе SDL Trados Sudio 2014 и одновременно использую макросы и автозамены, написанные в Autohotkey.
Программа SDL Trados Sudio 2014 представляет собой своего рода таблицу из двух колонок. В левой колонке «мертвый» текст на английском, который нельзя изменить, в правой колонке машинный перевод для последующего редактирования. Каждое предложение машинного перевода находится в сегменте (его еще называют строкой). Все обычные вердовские функции, например, выделить весь текст (Сtrl+A) работают только для одного сегмента.
Несколько моих макросов вызываю окно «Найти и заменить» и производят необходимые замены, в том числе с использованием регулярных выражений. В окне «Найти и заменить» есть опция использовать регулярные выражения.
Мой вопрос касается того, можно ли производить замены БЕЗ ИСПОЛЬЗОВАНИЯ окна «Найти и заменить». Если это возможно, то, пожалуйста, переделайте следующий скрипт
^!vk59:: ; Сtrl+Alt+y форматирование веб ссылки
OldClipboard = %Clipboard%
Clipboard := ""
SendInput, ^c ;cuts selected text
ClipWait 0
If ErrorLevel
{
MsgBox, No Text Selected!
Return
}
Clipboard := RegExReplace(Clipboard
,"(/Text/)([\w\s]+)(\.[^>]+>)\d+","$1$2$3$2")
SendInput, ^v
Clipboard = %OldClipboard%
Returnтаким образом, чтобы скрипт находил знак доллара «$» и цифру после него и заменял бы это сочетание на цифру, пробел и фразу «долларов США» (то есть вот это выражение «\$(\d+)» нужно заменить на «$1 долларов США»)
На всякий случай привожу описание того (нашел только на английском языке), что делает вышеуказанный скрипт, который, я надеюсь, может служить основой для необходимого мне скрипта.
1. The old contents of the of the Windows Clipboard is saved (OldClipboard = %Clipboard%).
2. The Clipboard is emptied (Clipboard := “”).
3. The highlighted text is copied to the Clipboard (SendInput, ^c).
4. The routine pauses/waits until the Clipboard is no longer empty (ClipWait 0).
5. The ErrorLevel statement, which works with the ClipWait command, is included just in case the user forgets to select (highlight) any text prior to executing the Hotkey combination.
6. The subject Regular Expression is used in the RegExReplace() function t0 reformat the contents of the Clipboard (explanation to follow).
7. The new Clipboard contents replace the selected text in the document (SendInput, ^v).
8. The original contents of the Clipboard is restored (Clipboard=%OldClipboard%).

