【问题标题】:Parsing paragraphs in applescript not working as expected解析applescript中的段落无法按预期工作
【发布时间】:2012-05-26 21:59:01
【问题描述】:

发布代码会丢失导致问题的格式,复制我在帖子中的内容实际上会做它应该做的事情。糟糕的是,这不是使用脚本的选项,所以我上传了脚本文件here,其中包含导致问题的内置文本示例。我将尝试传达问题仍然存在。

我正在从 mail.app 中提取文本。我正在解析的电子邮件中有一个日期列表(除其他外):

2012 年 5 月 27 日

2012 年 5 月 28 日

2012 年 5 月 29 日

2012 年 5 月 30 日

2012 年 5 月 31 日

2012 年 6 月 1 日

2012 年 6 月 3 日

2012 年 6 月 4 日

2012 年 6 月 5 日

2012 年 6 月 6 日

现在我正在尝试将日期放入列表中。没问题,我想...

以下操作无效:

使用段落不起作用,将整个内容作为段落返回

set AppleScript's text item delimiters to (ASCII character 13) -- (Carriage Return)

set AppleScript's text item delimiters to (ASCII character 10) -- (LF)

两个分隔符都不起作用。我想知道“返回”的 ASCII 码到底是什么,所以我做了以下内容:

将运行日期设置为“5/27/2012   5/28/2012   5/29/2012   5/30/2012   5/31/2012   6/1/2012   6/3/2012   6/4/2012   6/5 /2012   6/6/2012   6/7/2012   6/8/2012   6/10/2012   6/11/2012"

 set mylist to {}

 repeat with z from 1 to count of characters of rundates
        copy (ASCII number (character z of rundates)) to end of mylist
   end repeat


 --return mylist ---{53, 47, 50, 55, 47, 50, 48, 49, 50, 13, 53, 47, 50, 56, 47, 50, 48, 49, 50, 13, 53, 47, 50, 57, 47, 50, 48, 49, 50, 13, 53, 47, 51, 48, 47, 50, 48, 49, 50, 13, 53, 47, 51, 49, 47, 50, 48, 49, 50, 13, 54, 47, 49, 47, 50, 48, 49, 50, 13, 54, 47, 51, 47, 50, 48, 49, 50, 13, 54, 47, 52, 47, 50, 48, 49, 50, 13, 54, 47, 53, 47, 50, 48, 49, 50, 13, 54, 47, 54, 47, 50, 48, 49, 50, 13, 54, 47, 55, 47, 50, 48, 49, 50, 13, 54, 47, 56, 47, 50, 48, 49, 50, 13, 54, 47, 49, 48, 47, 50, 48, 49, 50, 13, 54, 47, 49, 49, 47, 50, 48, 49, 50}

---===== 注意到 13s 了吗?所以这应该有效吗? ====---

所以我使用 13 的分隔符应该可以工作,但它没有。

有人有什么想法吗?

【问题讨论】:

    标签: parsing applescript delimiter


    【解决方案1】:

    我从您发布的 ascii 数字中得到了不同的结果。实际上,现在 applescript 是 unicode,我们现在使用“id”而不是 ascii 编号。看来你的角色是“8232”。因此,在获取文本项之前,请在代码中使用它...

    set AppleScript's text item delimiters to character id 8232
    

    【讨论】:

    • 我最近遇到了一个转换旧文本文件的人。 regulus6633 在我开始之前发布了他的答案,但您也可以设置多个分隔符来捕获大多数行尾,例如 {return, linefeed, return & linefeed, character id 8233, character id 8232}。
    • 如果您运行的是 Snow Leopard 或更高版本。
    猜你喜欢
    • 2012-04-20
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 2013-11-07
    • 2016-07-27
    • 1970-01-01
    相关资源
    最近更新 更多