我正在努力解决以下问题。我有一个简单的脚本,用鼠标指向一个单词,点击它,复制(ctrl + c),然后粘贴(ctrl + v)。
现在,当复制完成时,我需要修剪缓冲区/剪贴板中的文本,这意味着删除开始空格(如果有的话)或结束空格(如果有的话) - 或两者兼而有之。这是我到目前为止的代码(我只列出相关部分):
...
MouseMove, 439, 219
Click 2
Send ^c
ClipWait
clipboard := RegexReplace(clipboard, "^\s+|\s+$")
clipboard := Trim(clipboard," `t`r`n")
clipboard := LTrim(clipboard, OmitChars = " `t`r`n")
clipboard := RTrim(clipboard, OmitChars = " `t`r`n")
StringReplace, clipboard, clipboard, `t`r`n, , All
StringReplace, clipboard, clipboard, %A_Space%, , All
Send ^v
...
正如你所看到的,我使用了我能找到的所有可能的选项,并且仍然没有删除空间。但是,奇怪的是有时候空间被移除了,但在大约40%的情况下它并没有被删除。但无论如何,我只需要一个可以在所有情况下(每次都修剪/删除空格)的解决方案。
有什么想法,建议吗?
答案 0 :(得分:4)
您的代码似乎对我有用。这导致相信它与剪贴板内容的时间有关。问题的罪魁祸首就是您使用ClipWait
。最可靠的使用方法是首先清除剪贴板,然后复制,然后使用ClipWait
clipboard := "" ; Clear clipboard
Send ^c
ClipWait, 10 ; Waits 10 seconds for clipboard to contain something
Msgbox % clipboard
。以下是一些示例用法。
{{1}}