从网页或聊天软件复制的文本经常带多余空行、全角空格和首尾空白,粘贴前总要手动整理一遍。这里提供一个清洗思路:把剪贴板文本读出来,做完规则替换后再写回,这样复制完直接粘贴,得到的就是洗过的内容。
实现思路
win.clip.read() 读取文本;string.trim() 去掉首尾空白;while 循环配合 string.find 把三个以上连续空行压缩成一个;全角空格替换成半角;最后 win.clip.write() 写回。
完整代码
import console;
import win.clip;
import string;
console.open();
main = function() {
var text = win.clip.read();
if (text == null || #text == 0) {
console.log("剪贴板里没有文本");
return;
}
text = string.trim(text); // 去首尾空白
while (string.find(text, "
") != null) { // 压缩连续空行
text = string.replace(text, "
", "
");
}
text = string.replace(text, " ", " "); // 全角空格转半角
win.clip.write(text); // 写回剪贴板
console.log("清洗完成,处理后长度:" + #text);
};
main();
console.pause(true);运行要点
- win.clip.write 默认先清空剪贴板再写入,无需手动 clear;
- aardio 的 while 条件里 string.find 查不到返回 null,可直接作为循环结束条件;
- 把 main 外再套一层 while(true) 加 time.sleep(500),即可做成后台自动净化剪贴板的常驻工具。
小结
剪贴板读改写三步结合,可以衍生出关键字替换、内容打码、代码格式化等更多自动化玩法,是桌面脚本的高频场景。
评论(0)
暂无评论,快来抢沙发吧~