我一直在尝试解决一段时间,我似乎无法理解。我到处都看,我仍然找不到它。
我正在尝试使用AutoHotKey为自动校正器创建一个字典,我需要用“::”替换每行的开头,并在另一行“::”之间的某处替换
像这样:
::togehter::together
现在我有大约20,000个这些添加没有“::”但我正在做的是在替换文本框中:
Replace: ^
With: ::
现在它适用于第一行但是如果我按下替换所有原因我无法在替换时点击20,000次,它不仅取代了我到底部的位置而且也取代了开头。所以现在每一行都添加了一个新的“::”。
所以我需要的是能够告诉替换停止哪一行而不是每一行。
另外,如果你能帮助我在第一个::(拼写错误的单词)之后添加“:: :( word)”,这将是一个很大的帮助。
答案 0 :(得分:0)
此AutoHotkey脚本可能会执行您所需的操作。 它留下以'::'开头的不变行, 并预先插入/替换其他文本。您将原始文本复制到剪贴板,运行此脚本,然后将所需的文本放在剪贴板上。 (要创建并运行脚本:将其复制并粘贴到文本编辑器中,并将其保存为myscriptname.ahk或myscriptname.txt,然后将文件拖放到AutoHotkey exe文件中。或者,如果将其保存为ahk文件,并安装AutoHotkey,您可以双击运行。)AutoHotkey
vText := Clipboard
vOutput := ""
VarSetCapacity(vOutput, StrLen(vText)*2*2)
StringReplace, vText, vText, `r`n, `n, All
Loop, Parse, vText, `n
{
vTemp := A_LoopField
if (vTemp = "")
if (1, vOutput .= "`r`n")
continue
if (SubStr(vTemp, 1, 2) = "::")
if (1, vOutput .= vTemp "`r`n")
continue
StringReplace, vTemp, vTemp, %A_Space%, ::, All
vOutput .= "::" vTemp "`r`n"
}
Clipboard := vOutput
MsgBox done
Return