如何修改AppleScript以移除剪贴板指定内容并保留富文本格式?
保留富文本格式的AppleScript修改方案
原脚本仅处理剪贴板的纯文本内容,会直接破坏富文本的格式结构,导致格式丢失。要保留格式,需要针对剪贴板中的RTF(富文本格式)数据进行操作,具体修改如下:
-- 获取剪贴板中的RTF数据 set rtfData to the clipboard as «class RTF » set rtfText to rtfData as string -- 定位四个连字符的位置 set dashOffset to offset of "----" in rtfText if dashOffset > 0 then -- 截取四个连字符之后的内容(----共4个字符,所以偏移+4) set trimmedRTFText to text (dashOffset + 4) thru -1 of rtfText -- 将处理后的RTF文本转换回RTF数据并放回剪贴板 set the clipboard to trimmedRTFText as «class RTF » end if
关键说明:
- 直接操作剪贴板的
«class RTF »类型数据,而非纯文本,这样能完整保留字体、颜色、排版等格式信息。 - RTF格式中
----字符本身不会被转义,所以可以直接定位其位置,无需额外处理转义字符。 - 截取时取
dashOffset + 4,确保完全移除开头到四个连字符的所有内容。
内容的提问来源于stack exchange,提问作者user14344220
相关产品推荐
相关产品推荐

