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



我正试图获得一个AppleScript来从剪贴板中查找somme关键字,并将它们列在新的剪贴板中

例如:我在剪贴板中复制了这行"订单KAFGEFEF价格999日期17订单KADFSDGS价格874日期18"`

结果将是

K1AFGE2FEF
K1ADFSD2GS

甚至更好的

K1AFGE2FEF : 999
K1ADFSD2GS : 17

我要收集的数据总是以"K1…."开头,有10个字符。

事实上,我有一个旧的Javascript,它正在发挥作用,但我需要使用AppleScript。

我真的不知道从哪里开始,也许我应该从pbcopy和egrp开始?

希望这是有道理的。

致以亲切的问候。

从您的问题中还不清楚剪贴板数据的确切结构或您想要的输出是什么。对于初学者来说,这里有一个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"}}

然后可以将主列表进一步处理为您想要的任何输出。

最新更新