本帖最后由 afan 于 2010-9-2 10:31 编辑
不知是否我操作问题,在复制某些控件文本时,程序给多加了空行。我测试qqflash这个第一界面时,复制“欢迎使 ...
23070205 发表于 2010-9-2 06:45
从你录像的后半段(0.3版)可以看出它的原始数据就是有断(空行)行的。也并非说它是非标控件,文本本来就是可以多行的,而你只需要其中的一部分而已。
在本工具中,复制功能当然是复制此控件的全部文本,如果只复制一行那就没什么意义了~
解决的办法很简单,在你的自动工具中加一句对剪贴板的操作:
$Clip = StringRegExpReplace($Clip, '(?s)\s*([^\r\n]+[^\s])\s*.*', '$1')
即可。这行代码可以取到有字符的第一行。
示例:
$Str = _
'' & @CRLF & _
' 从这里开始,我只要这一行 ' & @CRLF & _
'' & @CRLF & _
'这里还有很多字符' & @CRLF
Msgbox(0, '原字符串', '"' & $str & '"')
$str = StringRegExpReplace($str, '(?s)\s*([^\r\n]+[^\s])\s*.*', '$1')
Msgbox(0, '取到的有效字符', '"' & $str & '"')
需要注意的是,请不要将此行代码对标题进行处理,因为标题前面的空格是有效的,这一段会删除前面的空格等非字数据。 |