Esto no parece ser una forma muy eficiente de hacerlo, pero creo que es un problema de AppleScript en lugar de mi falta de creatividad (podría estar equivocado):
set mylist to {"table", "s01e01", "nam", "aces", "linear", "20160430", "01", "textless", "3840x2160", "000011", "jpg"}
repeat with str in mylist
set str to the contents of str
repeat with i from 0 to 9
if str contains i then
set end of mylist to str
exit repeat
end if
end repeat
set mylist to the rest of mylist
end repeat
return mylist
Podrías hacerlo mucho más graciosamente usando un poco de script de shell:
set mylist to {"table", "s01e01", "nam", "aces", "linear", "20160430", "01", "textless", "3840x2160", "000011", "jpg"}
set the text item delimiters to space
do shell script "grep -o '\S*\d\S*' <<< " & the quoted form of (mylist as text)
return the paragraphs of the result
EDITAR: hablé un poco demasiado pronto sobre mi (falta de creatividad), ya que se me ocurrió este método un poco más sofisticado para hacerlo con AppleScript. En teoría, también debería ser más rápido que el primer método:
set mylist to {"table", "s01e01", "nam", "aces", "linear", "20160430", "01", "textless", "3840x2160", "000011", "jpg"}
set the text item delimiters to {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
repeat with str in mylist
set str to the contents of str as text
if str ≠ the text items of str as text then ¬
set the end of mylist to str
set mylist to the rest of mylist
end repeat
return mylist