1 (изменено: Mechanic, 2020-11-17 03:11:34)

Тема: AHK: Проблема с StringReplace и "скобками".

Здравствуйте.
Столкнулся с проблемой StringReplace замены "скобок" в строке.

Суть в следующем:
Необходимо вывести текст в консоль путем SendInput:

Имя: {1.S}\nВозраст: {2.S}\nДоход: {3.S}

Возникает конфликт AHK с "скобками" и он понимает, что в них скорее всего заключена какая-то из кнопок.
Путём нехитрых махинаций, решил исправить проблему перебором StringReplace, пытаясь дать понять AHK, что скобка является обычным символом:

StringReplace, var, var, },{}},All
StringReplace, var, var, {,{{},All

Но, из-за этого "скобки" начали играть новую роль при этом искажая свое положение.

P.S. Пробовал решить проблему через RegExReplace, но поскольку в тексте попадается большое количество "Скобок" реализация слишком мучительна.

2

Re: AHK: Проблема с StringReplace и "скобками".

Mechanic А так?

Имя: {{}1.S{}}
GD

3

Re: AHK: Проблема с StringReplace и "скобками".

Прочтите справочную статью про Send. У команды есть режимы отправки без интерпретации, также есть экранирующие символы.
Статью в русском переводе можете найти на сайте, также можете скачать русский справочный файл. И то, и то находится в закрепленном топике "Информация и FAQ по разделу AutoHotkey" в разделе AutoHotkey.

4 (изменено: Mechanic, 2020-11-17 18:36:29)

Re: AHK: Проблема с StringReplace и "скобками".

Botsy, stealzy, как раз отправку без интерпретации я и хочу реализовать. Проблема в том, что исходный текст находится в другом документе и считывается путём FileRead, а после этого через Send отправляется в консоль.
Соответственно, для этого нужно реализовать отправку символа в его буквальном понимании, тоесть заменить в строке символ "{" на "{}}" и "}" на "{}}", попытку реализации которого я описал в первом посте.

5

Re: AHK: Проблема с StringReplace и "скобками".

Немного не понял - задача вставить текст, который хранится в переменной? Если так то нет проблем же.

Text = Имя: {1.S}\nВозраст: {2.S}\nДоход: {3.S}
SendRaw, %Text%
Win10x64, AHK v1.1.37.01 (Unicode 64-bit) | AHK-Wiki | Переменные и выражения | RegEx101