Applescript - 从特定单词复制到TextEdit文档/另一个单词的结尾

时间:2016-04-29 09:19:37

标签: applescript textedit

我想知道是否有更快的方法从TextEdit文档中复制一系列文本而无需使用这么多系统事件来查找,cmd + shift + down并复制范围文本(来自word - >文档结尾的案例)。

提前谢谢。

2 个答案:

答案 0 :(得分:1)

对于您正在寻找的内容,这个答案可能过于简单,但它至少应该让您开始朝着正确的方向前进。

set yourText to "This is some test text that you might want to work with."
set i to offset of "test" in yourText
set finalText to characters i thru -1 of yourText as string

作为旁注,我看到很多人在TextEdit这样的应用程序中做事情,当他们真的不需要时。换句话说,如果您只是想获取内容,则没有理由在TextEdit(或类似)和脚本中打开文件,您只需将文本文件读入变量然后处理您的内容即可。

例如,您的脚本可能看起来像这样......

on run
    set yourText to read file "Macintosh SSD:Users:myuser:Desktop:myTextFile.txt"
    set i to offset of "test" in yourText
    set finalText to characters i thru -1 of yourText as string
end run

答案 1 :(得分:0)

可能不是; Cocoa Scripting的Text Suite支持很糟糕,并且不支持文本范围说明符(例如text (word N) thru end of document ...),文本样式,移动/复制/删除文本部分(至少不会搞砸) ,或其他任何使其合理有用的东西。

您不会说出您实际想要实现的目标,但我认为它涉及富文本(例如.rtf)文件,否则您只需使用StandardAdditions' read命令将纯文本直接读入AS并在那里进行操作,因此您可能需要查看以下备选方案之一:

  1. OS X服务,您可以在Automator中编写并绑定到系统偏好设置中的键盘快捷键,允许读取和处理选定的文本

  2. 第三方可编写脚本的文本编辑器,它实现了自己的文本套件,但并不吸引

  3. NSData + NSAttributedString您可以通过ObjC / Swift / AppleScript-ObjC /读取.rtf文件并直接使用其内容。