1 (изменено: Turambar, 2015-10-29 13:23:21)

Тема: Замена пробела в переменной на другой символ

Здравствуйте.
Суть проблемы такова. Есть переменная bl. В ней может содержаться строка либо такая "Nick Name", либо такая: "Nick_Name".
Мне нужно в случае наличия пробела заменить его на "_".

!1::
bl = Nick Name
if RegExMatch(bl, " ")   ; если в переменной содержится пробел, то...
{
RegExReplace(bl, "^(.*) (.*)$", probel)  ;пытаюсь разбить содержимое переменной на две части: до и после пробела
Itog = %probel1%_%probel2%   ; в переменную Itog записываю те две части и между ними _
SendInput, {F6}%Itog%{Enter}   ; вывожу переменную "Itog"
}
Return

По непонятной мне причине переменная Itog принимает значение "_". А должно быть "Nick_Name".
Проверил используемое регулярное выражение в интернете на сайтах тестирования, всё вроде бы нормально с ним.

Подскажите, пожалуйста, что я делаю не так?

2

Re: Замена пробела в переменной на другой символ

Turambar пишет:

Подскажите, пожалуйста, что я делаю не так?

Для начала, путаете RegExReplace и RegExMatch.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3 (изменено: Alectric, 2015-10-29 16:17:55)

Re: Замена пробела в переменной на другой символ

Для завершения, проще использовать stringreplace.

!1::
bl = Nick Name
stringreplace,bl,bl,%a_space%,_,all
SendInput, {F6}%bl%{Enter}
Return
Win 10 x64
AHK v1.1.33.02
                       Справка тебе в помощь.

4

Re: Замена пробела в переменной на другой символ

Решение не совсем верное:

bl = OldNick Name
stringreplace,bl,bl,%a_space%,_,all
msgbox % bl
Return

О такого метода присваивания я бы отучивался.

bl = Nick Name

В будущих версиях ahk от него избавятся.

5

Re: Замена пробела в переменной на другой символ

Malcev пишет:

В будущих версиях ahk от него избавятся.

Откуда такая информация?

Win 10 x64
AHK v1.1.33.02
                       Справка тебе в помощь.

6

Re: Замена пробела в переменной на другой символ

http://ahkscript.org/v2/v2-changes.htm

7

Re: Замена пробела в переменной на другой символ

OFF: Это-ж сколько кода теперь перелапачивать...

Win 10 x64
AHK v1.1.33.02
                       Справка тебе в помощь.