2012-12-01 1 views
0

в этом сценарии, который я использую я могу заменить только одно слово команды ->милан, Juventus, в .. Но я хочу заменить много слов (а не только одно слово) например:AutoHotkey - Заменить разные слова или предложения

[просто замена слова домкрат -> бета]

alfa-->beta 

[предложение замены домкрат ->домкрат, джон, альфа]

jack 

jack 
john 
alfa 

Это на самом деле код, который я использую

loop { 
    While !RegexMatch(strCapture, "teams$") { 
     Input, strUserInput, V L1, {BackSpace} ; V: visible, L1: Character length 1 
     If ErrorLevel = Endkey:BackSpace 
      strCapture := SubStr(strCapture, 1, StrLen(strUserInput) - 1) 
     else 
      strCapture .= strUserInput 
     ; tooltip % ErrorLevel "`n" strUserInput "`n" strCapture "`n" ; enable this to see what actually happens 
    } 
    SendInput, 
    (Ltrim 
     {Backspace 5} 
     milan 
     juventus 
     inter 
     roma 
     lazio 
     napoli 
     mantova 
    ) 
    strCapture := "" 
} 

Как я могу изменить код?
Можно также запустить скрипт, интегрирующий copy-paste?

+0

Учитывая предыдущий вопрос, http://stackoverflow.com/questions/13642295/autohotkey-virtual-keyboard-autoinput, вы не можете использовать обычные автозамены этикетки для виртуальной клавиатуры. Это правильно? – NbdNnm

+0

Нет, в http://stackoverflow.com/questions/13642295/autohotkey-virtual-keyboard-autoinput Я могу использовать вашу горячую строку для виртуальной клавиатуры. Я не могу понять, как можно интегрировать подборку буфера обмена (copy-paste), например, * teams * – user149018

+0

Постарайтесь быть ясными, насколько это возможно. К какому предложению относится ваше «Нет»: «это правильно?» или «вы не можете использовать обычные ярлыки HotString»? Код, который я вам дал, НЕ использует метки HotString, а команду 'Input'. – NbdNnm

ответ

0

Вы можете использовать цикл For для замены содержимого, но это станет все более утомительным для поддержания в масштабе, поэтому YMMV.

Следующее будет использовать содержимое буфера обмена как переменные to/from, но вы можете поменять его на переменную по желанию (замените «буфер обмена» вашей строковой переменной).

F3:: 
{ 
    replace := {"alfa":"beta", "gamma":"delta"} 
    For start, end in replace { 
    StringReplace, clipboard, clipboard, %start%, %end%, All 
}} 
Return 
Смежные вопросы