修剪剪贴板中的文本/删除尾随空格

时间:2014-03-17 12:01:54

标签: regex text autohotkey trim

我正在努力解决以下问题。我有一个简单的脚本,用鼠标指向一个单词,点击它,复制(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%的情况下它并没有被删除。但无论如何,我只需要一个可以在所有情况下(每次都修剪/删除空格)的解决方案。

有什么想法,建议吗?

1 个答案:

答案 0 :(得分:4)

您的代码似乎对我有用。这导致相信它与剪贴板内容的时间有关。问题的罪魁祸首就是您使用ClipWait。最可靠的使用方法是首先清除剪贴板,然后复制,然后使用ClipWait clipboard := "" ; Clear clipboard Send ^c ClipWait, 10 ; Waits 10 seconds for clipboard to contain something Msgbox % clipboard 。以下是一些示例用法。

{{1}}