目前脚本如下
Loop
{
StringReplace, clipboard,clipboard, `r`n,%A_SPACE%, UseErrorLevel
if ErrorLevel = 0 ;全部替换完,退出循环
break
}
Loop
{
StringReplace, clipboard,clipboard, %A_SPACE%%A_SPACE%, %A_SPACE%, UseErrorLevel ;替换两个空格为一个空格
if ErrorLevel = 0
break
}
目的是把分行符换成英文空格,然后把连续的空格换成一个空格。
奇妙的是,把英语单词的-也处理得很好。
但不可避免复制中文的时候 也会有空格,这个是不想要的,请各位朋友指导一二,如何判断在两个中文之间换行的时候直接去掉分行符
StringReplace, clipboard,clipboard, `r`n,, UseErrorLevel
1 个赞
AHK的一些规矩奇奇怪怪看着都头痛,实在要用可以去它的论坛问,如果不麻烦半小时内就能解决
或者参考一下
RegExMatch()
RegExReplace()
1 个赞
谢谢您的建议 还脚本还是非常好用的 以前的那个取词脚本不能跨行复制 稍微改一下跨行复制 我在脚本后面继续加了一个鼠标手势 搭配右键下滑粘贴 搭配其他软件快捷键 实现鼠标手势截图、OCR 、、
需要的时候的确少不了它,但是稍微复杂点的象我一年写不了2、3个,都是临时抱抱佛脚
1 个赞
继续往后加一句这个
RegExReplace(“非常 感谢你 “, “([一-龥])([[:space:]])([一-龥])(.*)”,”$1$3$4”)
请问一下,怎么把粘贴板的东西放到非常感谢你那里去
试试这个看有没有用
LWin::
clipboard := RegExReplace(clipboard, "(\p{Han}) ", "$1")
Msgbox, %clipboard%
return
Loop
{
StringReplace, clipboard,clipboard, `r`n,%A_SPACE%, UseErrorLevel
if ErrorLevel = 0 ;全部替换完,退出循环
break
}
Loop
{
StringReplace, clipboard,clipboard, {TABLE},%A_SPACE%, UseErrorLevel
if ErrorLevel = 0 ;全部替换完,退出循环
break
}
Loop
{
StringReplace, ,clipboard, %A_SPACE%%A_SPACE%, %A_SPACE%, UseErrorLevel ;替换两个空格为一个空格
if ErrorLevel = 0
break
}
clipboard := RegExReplace(clipboard, "([一-龥])([[:space:]])([一-龥])(.*)","$1$3$4")
您这个我没明白,没试出来怎么用,我这个思路是这样的,加一个正则,如果汉字与汉字之间有空格,就丢掉空格,表达式也是对的,就是把clipboard引用进去运行的时候,会提示,
Error at line 85.
Line Text: StringReplace,
Error: "StringReplace" requires that parameter #1 be non-blank
The program will exit.
百度不到怎么解了
嗯嗯,真的我一直盯着下面看了,
原来85行在上面 哈哈哈哈,太感谢你了,为我以后做PPT节约了大量的时间
1 个赞