使用 AppleScript 解析日历 (ICS)
我很难破解这个问题。我已将 ICS 文件读入 AppleScript,并且需要解析它。这是我的代码
set calURL to "https://url.to.ics"
set calenderData to do shell script "curl " & calURL
数据读取正常,但我需要解析它。我希望脚本读取每个事件的 BEGIN:VEVENT 和 END:VEVENT 之间的数据。我不知道如何做到这一点,但是使用 foreach 循环或其他东西?
这是包含我的考试的日历示例。
BEGIN:VCALENDAR VERSION:2.0 X-WR-CALNAME:Eksamener X-WR-CALDESC: X-APPLE-CALENDAR-COLOR:#CC2B23FF BEGIN:VEVENT UID:C96EF18C-5D17-4170-8C67-832B7F90B464 SUMMARY:TK 1100 Eksamen SEQUENCE:0 LOCATION: DTSTART;VALUE=DATE:20111213 DTEND;VALUE=DATE:20111214 END:VEVENT BEGIN:VEVENT UID:BDBE0B4B-FF3D-4245-B23F-F1BF25F65998 SUMMARY:DB 1100 Eksamen SEQUENCE:0 LOCATION: DTSTART;VALUE=DATE:20111006 DTEND;VALUE=DATE:20111007 END:VEVENT BEGIN:VEVENT UID:21261AF0-FDA7-432B-B513-CC3A9C04393D SUMMARY:PG 1100 Eksamen SEQUENCE:0 LOCATION: DTSTART;VALUE=DATE:20111216 DTEND;VALUE=DATE:20111217 END:VEVENT END:VCALENDAR
这与学校无关,我只是想解析数据以在我的桌面(GeekTool)上查看。
Iam having a hard time cracking this. I have read an ICS file into AppleScript and I need to parse it. This is my code
set calURL to "https://url.to.ics"
set calenderData to do shell script "curl " & calURL
The data reads in fine, but I need to parse it. I want the script to read data between BEGIN:VEVENT and END:VEVENT for every event. Iam not sure how to do this, but with a foreach loop or something?
Here is a sample calender containing my exams.
BEGIN:VCALENDAR VERSION:2.0 X-WR-CALNAME:Eksamener X-WR-CALDESC: X-APPLE-CALENDAR-COLOR:#CC2B23FF BEGIN:VEVENT UID:C96EF18C-5D17-4170-8C67-832B7F90B464 SUMMARY:TK 1100 Eksamen SEQUENCE:0 LOCATION: DTSTART;VALUE=DATE:20111213 DTEND;VALUE=DATE:20111214 END:VEVENT BEGIN:VEVENT UID:BDBE0B4B-FF3D-4245-B23F-F1BF25F65998 SUMMARY:DB 1100 Eksamen SEQUENCE:0 LOCATION: DTSTART;VALUE=DATE:20111006 DTEND;VALUE=DATE:20111007 END:VEVENT BEGIN:VEVENT UID:21261AF0-FDA7-432B-B513-CC3A9C04393D SUMMARY:PG 1100 Eksamen SEQUENCE:0 LOCATION: DTSTART;VALUE=DATE:20111216 DTEND;VALUE=DATE:20111217 END:VEVENT END:VCALENDAR
This is not related to school, I just want to parse the data to view it on my desktop (GeekTool).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要使用文本项分隔符。尝试一下,看看您是否能理解它是如何工作的。
You need to use text item delimiters. Try this and see if you can understand how it works.