2012-11-09 98 views
0

我有一个包含各种窗口标题的数组。 他们的标题是“...号码333999333 ID ....”。 所以数组是这样的:循环遍历数组以获取字符串中的数字

array ("... number 333999333 id ....", 
    "... number 333999334 id ....", 
    "... number 333999335 id ....", 
    "... number 333999336 id ....", 
    "... number 333999337 id ....", 
    "... number 333999338 id ...." 
) 

我想用“数字”和“ID”作为分隔符,并利用它们之间的数字来创建一个新的阵列(或修改现有的一个)会只包含这些数字。

array ("333999333", 
    "333999334", 
    "333999335", 
    "333999336", 
    "333999337", 
    "333999338" 
) 

我该如何做到这一点?

回答

1

尝试:

set listA to {"… number 333999333 id ....", "... number 333999334 id ....", "... number 333999335 id ....", "... number 333999336 id ....", "... number 333999337 id ....", "... number 333999338 id …."} 

set listB to {} 
repeat with anItem in listA 
    set end of listB to do shell script "echo " & quoted form of anItem & " | sed 's/.* \\([0-9]*\\) .*/\\1/'" 
end repeat 

return listB