2011-05-08 5 views
1

Existe-t-il un moyen de vérifier (en appli) si une liste (ou un bloc de texte html) starts with un nombre quelconque de valeurs.Applescript et "commence par" opérateur

Exemple (vérification d'une valeur unique)

if {foobar starts with "<p>"} then 
    -- do something awesome here 
end if 

sauf je voudrais transmettre plusieurs valeurs pour vérifier <p> ou <h1> ou <em>.

Merci d'avance.

Répondre

6
on startswith(txt, l) 
    repeat with v in l 
     if txt starts with v then return true 
    end repeat 
    false 
end startswith 

startswith("abc", {"a", "d", "e"}) -- true
+0

fonctionne très bien sur son propre Lri, mais comment puis-je mettre en œuvre dans ce script. Je ne parle pas couramment d'applescript. Heres un lien sur pastebin http://pastebin.com/mS3wyYQX – VicePrez

+0

@VicePrez Cela devrait être une autre question. Voici quelque chose de similaire: [wrap_lines_with_tag.applescript] (http://cs.helsinki.fi/u/lranta/pastebin/wrap_lines_with_tag.applescript) – user495470

+0

merci lri, essayez de travailler avec celui que vous m'avez donné, si ça ne fonctionne pas Je publie une autre question liée à celle que j'ai actuellement. +1 – VicePrez

4

Si vous voulez rester dans le style « anglais » de AppleScript, bien plus que l'exemple ci-dessus, vous pouvez tout faire:

if {foobar starts with "hello" or foobar starts with "goodbye"} then 

Un exemple complet serait:

set foobar to "hello dude" 
if {foobar starts with "hello" or foobar starts with "goodbye"} then 
    display dialog "found" 
end if 

Ce sera vrai même si vous changez:

set foobar to "hello dude" 

à:

set foobar to "goodbye dude" 
+0

informations intéressantes. J'ai posté une autre question liée à ce problème dans une autre page. @Lri a eu la gentillesse de créer une solution sur mesure pour le problème [ici] (http://stackoverflow.com/questions/5932752/applescript-wrap-lines-with-html-tags-and-marsedit-app-script- problème) – VicePrez