La manipulation de la chaîne en AppleScript
J'ai le défi en AppleScript pour manipuler une chaîne de caractères comme suit:
- Chaîne de Base est un destinataire de courrier électronique d'affichage de nom, dire:
First Last ([email protected])
- Je voudrais à "couper" le nom d'affichage pour supprimer l'adresse e-mail utilisée dans les supports
- Le résultat souhaité doit être
First Last
- de sorte que l'espace en face de la première tranche doit être supprimé.
Quelle est la meilleure et la plus efficace pour ce faire, dans AppleScript?
Vous devez vous connecter pour publier un commentaire.
set nameOnly to first text item of sourceAddress
, éliminant ainsi la nécessité pour les auxiliaires des déclarations impliquantaddressParts
.Je voudrais aussi utiliser les décalages.
text 1 thru 2 of "xyz"
est équivalent àitems 1 thru 2 of "xyz" as string
.Autant que je sache, vous n'avez pas à rétablir le texte de l'élément de délimiteurs.
Si d'autres personnes étaient à la recherche à propos de la manipulation de la chaîne en général, ici sont les méthodes pour le remplacement et la répartition du texte et de rejoindre les listes:
Comparaisons de chaînes ignorer la casse par défaut:
Inversion de texte:
Vous pouvez utiliser n'script shell pour modifier la casse du texte:
do shell script "printf %s " & quoted form of "aä" & " | LC_CTYPE=UTF-8 tr [:lower:] [:upper:]" without altering line endings
echo interprète les séquences d'échappement par défaut dans OS X /bin/sh. Vous pouvez également utiliser
shopt -u xpg_echo; echo -n
au lieu deprintf %s
.LC_CTYPE=UTF-8
rend les classes de caractères comprennent certains des caractères non-ASCII. Siwithout altering line endings
est à gauche, des sauts de ligne sont remplacés par des retours chariot et un saut de ligne à la fin de la sortie est supprimée.paragraphs of
scissions de chaînes autour de \n, \r, \r\n. Il n'a pas de bande de délimiteurs.La version texte du presse-papiers utilise CR des fins de ligne. Cette fonction convertit les fins de ligne de LF:
Unicode text
a été équivalent àtext
etstring
depuis 10.5:Vous souhaiterez peut-être utiliser une solution plus simple comme ceci: