У меня возникла проблема с использованием regex.replace с акцентированными словами - я использую замену regex, потому что мне нужно заменить полные, а не частичные строки (см. «Grund» в списке).Regex заменить на символы с акцентом - AutoHotKey
Но AHK, кажется, игнорирует акцентированные символы в начале и конце слов (в середине это прекрасно). Кто-нибудь сталкивался с этой проблемой раньше?
Я придумал следующее «исправление», добавив символ подчеркивания перед символами с акцентом после того, как после символа с акцентом, но он все еще не работает правильно, когда в слове появляется акцент (см. «Mémit» и mmit «). Может ли кто-нибудь помочь? Я уверен, что есть намного более простой способ справиться с акцентами!
Cheers!
^+f2::
data =
(
testé = WORD1
kragén = WORD2
und = WORD3
gürtel = WORD4
émail = WORD5
élder = WORD7
messé = WORD8
émit = WORD9
èmit = WORD10
testè = WORD11
)
text =
(
testé kragén und gürtel émail nomâtch élder messé émit émit èmiter émita mémit mèmit testé testè grund
)
text := RegExReplace(text,"(\w+é)\W|$","$1_ ")
text := RegExReplace(text,"\W(é\w+)"," _$1")
text := RegExReplace(text,"(\w+è)\W|$","$1_ ")
text := RegExReplace(text,"\W(è\w+)"," _$1")
loop, parse, data, `n, `r
{
stringsplit, term, a_loopfield, =, %a_space%
text := RegExReplace(text, "\b" . term1 . "\b", term2)
}
stringreplace, text, text, _, , all
stringreplace, text, text, _ , , all
msgbox, % text
return
Спасибо, но это для поиска и замены скрипта, поэтому мне нужно точное совпадение каждого отдельного слова, а не всеохватывающего кода регулярного выражения. – user3842077
Для индивидуального символа, такого как 'é', вы, вероятно, можете использовать' \ x (шестнадцатеричный код символа) '-' ([\ xE9]) 'и т. Д. –