Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Applescript 筛选剪贴板并另存为数据列表_Applescript_Clipboard - Fatal编程技术网

Applescript 筛选剪贴板并另存为数据列表

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

我正在尝试获取一个AppleScript,以便从剪贴板中查找somme关键字,并将它们列在新的剪贴板中

e、 g:我在剪贴板上复制了这行“订单KAFGEFF价格999日期17订单KADFSDGS价格874日期18”`

结果将是

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"}}
然后,主列表可以进一步处理为您想要的任何输出