Срещнах проблем при използването на regex.replace с думи с ударения - използвам regex replace, защото трябва да заменя цели, а не частични низове (вижте „grund“ в списъка).
Но AHK изглежда игнорира символите с ударения в началото и края на думите (в средата е добре). Някой сблъсквал ли се е с този проблем преди?
Измислих следната "поправка", като добавих долна черта преди знаците с ударение, които започват след тях, но тя все още не работи правилно, когато ударение се появява в дума (вижте "mémit" и mèmit). Може ли някой да помогне? Сигурен съм, че има много по-лесен начин за справяне с акцентите!
наздраве!
^+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