1 (изменено: Gh0sTG0, 2018-11-13 00:34:04)

Тема: AHK: IfInString искать только целую строку

Как заставить IfInString искать только совпадение целой строки?
То есть, ввожу в файл aaa
ищу aa
он выдает "есть"


MyFile = file.txt
	FileRead, filetext, %MyFile%
	AAA = %Clipboard%
	IfInString, filetext, %AAA%
	{
		MsgBox, It'sInFile
	} Else {
		FileAppend, % (filetext="" ? "" : "`n") . AAA, %MyFile%
		MsgBox, NowInFile
	}
	Return	

Пробовал делать "AAA = %Clipboard%`n" всегда пишет "нету"
Или он так не может и надо юзать что то сложнее?
PS или можно еще как то лучше??

2

Re: AHK: IfInString искать только целую строку

Лучше использовать регулярное выражение:

MyFile := "file.txt"
FileAppend, `naaa, % MyFile
FileRead, filetext, % MyFile
test := "aaa"
res := RegExMatch(filetext, "m`a)^\Q" . test . "\E$")
MsgBox, % "Строка " . (res ? "" : "не ") . "найдена"

test := "aa"
res := RegExMatch(filetext, "m`a)^\Q" . test . "\E$")
MsgBox, % "Строка " . (res ? "" : "не ") . "найдена"
Return   
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder