2016-04-29 47 views

回答

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 
+0

在AppleScript本身中,您应该使用'text i thru j someString'来获取子字符串。唉,向TextEdit发送相同的请求将会失败,因为它的Text Suite支持非常强大;如TextWrangler和Tex-Edit Plus等第三方应用程序是一个更好的选择,如果可用的话。从TextEdit中获取'通过j ...'的字符具有糟糕的性能,因为您要求它返回一个单字符字符串列表。最后,将列表强制为单个字符串也会产生不可预知的结果,除非您始终将AppleScript的文本项分隔符首先设置为'“”'。 – foo

0

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

你不会说你实际想要达到什么,但我认为它涉及到丰富的文本(例如.rtf)文件,否则你只需使用StandardAdditions的read命令直接读取纯文本到AS并操作它在那里,所以你可能要考虑下列选项之一:

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

  2. 第三方脚本化文本编辑器,实现自己的文本不吸引的套件

  3. NSData + NSAttributedString您可以通过ObjC/Swift/AppleScript-ObjC /任何方式使用它来读取.rtf文件并直接处理它们的内容。

+0

我实际上从下载的TXT文件,到Excel文件SAP报表格式,其中有些是真的传输文件所以我想尝试只从一个点开始复制。 – klutznic

+0

这听起来非常讨厌。我建议你直接回来,并开始寻求帮助,以更好的格式导出SAP报告?或者,如果您无法控制数据的导出方式,请指向现有脚本/库/应用程序的指针,以便将SAP后期处理后的数据转换为理智的格式?我认真地怀疑你是第一个(或最后一个)曾经不得不应对这种糟糕的makework废话的人,并且将自己的解决方案作为列表中的最后一个选项,AppleScript是最差的选择。 – foo

相关问题