【问题标题】:Trim text / delete trailing spaces from clipboard with AHK使用 AHK 修剪文本/删除剪贴板中的尾随空格
【发布时间】:2014-03-17 12:01:54
【问题描述】:

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

有什么想法、建议吗?

【问题讨论】:

    标签: regex text autohotkey trim


    【解决方案1】:

    您的代码似乎对我有用。这导致人们相信它与剪贴板内容的时间有关。您的问题的可能罪魁祸首是您对ClipWait 的使用。最可靠的使用方法是先清除剪贴板,然后复制,然后使用ClipWaittimeout value。下面是一些用法示例。

    clipboard := ""  ; Clear clipboard
    Send ^c
    ClipWait, 10  ; Waits 10 seconds for clipboard to contain something
    Msgbox % clipboard
    

    【讨论】:

    • 非常感谢,它完全成功了!现在每次都像魅力一样工作。 /me 给他帽子
    猜你喜欢
    • 2014-05-07
    • 2016-10-26
    • 1970-01-01
    • 1970-01-01
    • 2010-11-26
    • 1970-01-01
    • 1970-01-01
    • 2021-07-09
    • 1970-01-01
    相关资源
    最近更新 更多