【发布时间】:2016-09-05 02:51:20
【问题描述】:
我对编写代码非常陌生。我一直在寻找在文本文档中查找字符串然后在下一行返回部分字符串的所有方法。理想情况下,最终目标是将这个提取的字符串放入一个 excel 文件中,但我离这一步还很远。我一直在玩很多不同的选择,但我一生都无法让它发挥作用。我觉得我已经很接近了,这让我很生气,因为我无法弄清楚我哪里出了问题。
目标:在不知道该人姓名的情况下,从下面的文本中提取发布该职位的人的姓名。我知道字符串“职位发布者”将立即预置我要查找的名称,并且我知道“·”将立即跟随该名称。在文本文档的其他任何地方都没有出现这些环绕字符串。
I'm running OS X El Capitan
file name for this example is ExtractedTextOutput.txt
file location for this example is "/Users/RaquelBianca/Desktop/ExtractTextOutput2.txt"
到目前为止,我的尝试如下(我的问题是它似乎只是返回整个文本文档,而不仅仅是我正在寻找的名称)
set theFile to ("/Users/RaquelBianca/Desktop/ExtractTextOutput2.txt")
set theFileContents to read theFile
set output to {}
set od to AppleScript's text item delimiters
set AppleScript's text item delimiters to {"
"}
set all_lines to every text item of theFileContents
repeat with the_line in all_lines
if "Job posted by" is not in the_line then
set output to output & the_line
else
set AppleScript's text item delimiters to {"Job posted by"}
set latter_part to last text item of the_line
set AppleScript's text item delimiters to {" "}
set last_word to last text item of latter_part
set output to output & ("$ " & last_word as string)
end if
end repeat
set AppleScript's text item delimiters to {"
"}
set output to output as string
set AppleScript's text item delimiters to od
return output
非常感谢任何和所有帮助和想法。
文件中的示例文本: 2016 年 9 月 2 日 Datadog 大纽约地区应用安全工程师职位 |领英 60 主页简介 职位描述 我的网络工作 搜索人员、工作、公司等...兴趣 高级 商业服务 转到 Lynda.c 应用安全工程师 数据狗 大纽约市地区 发表于 15 天前 93 次浏览 1 位校友在这里工作 在公司网站上申请 我们的使命是为云操作带来理智,我们需要您在我们的平台上构建弹性和安全的应用程序。你会做什么 执行代码和设计审查,贡献代码以提高整个 Datadog 产品的安全性 教育您的工程师同事了解代码和基础设施的安全性 监控生产应用程序的异常活动 优先考虑和跟踪整个公司的应用程序安全问题 帮助改进我们的安全政策和流程 职位发布者 瑞恩·埃尔伯格·第二 Datadog 大纽约地区技术人才招聘负责人 发送邮件
【问题讨论】:
-
如果您将 Applescript 的文本项分隔符设置为“职位发布者”,那么您的文本将被分成 2 个文本项:全部在“发布者职位”之前和之后。获取第二部分,并将 Applescript 的文本项分隔符设置为“·”:提取第二部分的第一项:这是您要查找的名称。
-
@pbell 感谢您的快速回复!你能建议如何提取第二部分的第一项吗?到目前为止,我似乎只能让它返回简单的“{}”的整个文本文档,这对我来说似乎什么都不是
标签: macos shell applescript extract automator