Applescript 筛选剪贴板并另存为数据列表
我正在尝试获取一个AppleScript,以便从剪贴板中查找somme关键字,并将它们列在新的剪贴板中 e、 g:我在剪贴板上复制了这行“订单KAFGEFF价格999日期17订单KADFSDGS价格874日期18”` 结果将是Applescript 筛选剪贴板并另存为数据列表,applescript,clipboard,Applescript,Clipboard,我正在尝试获取一个AppleScript,以便从剪贴板中查找somme关键字,并将它们列在新的剪贴板中 e、 g:我在剪贴板上复制了这行“订单KAFGEFF价格999日期17订单KADFSDGS价格874日期18”` 结果将是 K1AFGE2FEF K1ADFSD2GS 甚至更好 K1AFGE2FEF : 999 K1ADFSD2GS : 17 我想收集的数据总是以“K1….”开头,有10个字符 事实上,我有一个旧的Javascript,它在某种程度上实现了这一点,但我需要使用AppleSc
K1AFGE2FEF
K1ADFSD2GS
甚至更好
K1AFGE2FEF : 999
K1ADFSD2GS : 17
我想收集的数据总是以“K1….”开头,有10个字符
事实上,我有一个旧的Javascript,它在某种程度上实现了这一点,但我需要使用AppleScript
我真的不知道从哪里开始,也许我应该从pbcopy和egrep开始
希望这是有意义的
问候。您的问题并不清楚剪贴板数据是如何构造的,或者您希望的输出是什么。首先,这里是一个Applescript解决方案,它将从剪贴板中提取订单、价格和日期值。它假定订单、价格和日期始终按特定顺序分组,并且剪贴板上的一行文本中可以有多个订单价格日期组。例如:
order K1AFGE2FEF price 999 date 17 order K1ADFSD2GS price 874 date 18
然后,以下Applescript将提取每个订单、价格和日期三元组,并将其保存为主列表中的三项子列表:
set masterList to {}
set tid to AppleScript's text item delimiters
try
set AppleScript's text item delimiters to "order "
repeat with i in (get (the clipboard)'s text items 2 thru -1)
tell i's contents
try
set currOrder to first word
set AppleScript's text item delimiters to "price "
set currPrice to (get its text item 2)'s first word
set AppleScript's text item delimiters to "date "
set currDate to (get its text item 2)'s first word
if (currOrder starts with "K1") and (currOrder's length = 10) then set end of masterList to {currOrder, currPrice, currDate}
end try
end tell
end repeat
end try
set AppleScript's text item delimiters to tid
return masterList -- {{"K1AFGE2FEF", "999", "17"}, {"K1ADFSD2GS", "874", "18"}}
然后,主列表可以进一步处理为您想要的任何输出