1 votes

Remplacer des variables spécifiques dans le texte sélectionné via script.

Ainsi, pour mon travail, je génère constamment des liens vers des variables qui doivent être modifiées (ex. http://www.thedomain.com/ajdkeial.html?keyword1= {keyword1}&keyword2={keyword2} )

Le lien est généré avec ces parenthèses, à remplacer. Maintenant, je suis complètement analphabète avec le code, mais je cherche un moyen de : Sélectionner le texte, et remplacer {keyword1} par le mot clé que je veux, et {keyword2} par le second.

J'envisage de le faire avec l'historique du presse-papiers pour les variables à saisir via l'application "Alfred", cependant je ne suis pas sûr de savoir comment je pourrais écrire un script qui saisit ces variables et remplace le texte, puis me donne le produit fini. Si quelqu'un avait une direction à suivre, ce serait grandement apprécié.

1voto

C'est un travail pour les délimiteurs d'éléments de texte. Si vous n'êtes pas familier, un délimiteur est un séparateur, normalement entre les mots le séparateur est un espace. Avec les délimiteurs d'éléments de texte, vous pouvez remplacer l'espace normal par la valeur texte de votre choix. Dans ce cas, vous feriez de "{keyword1}" le délimiteur d'élément de texte, alors le script verra le texte original comme seulement deux mots, tout ce qui précède "Keyword1" et tout ce qui suit est le deuxième mot. Ensuite, vous définissez les délimiteurs d'élément de texte avec ce que vous voulez pour remplacer le "{keyword1}", et vous ramenez les deux mots dans un seul élément de texte.

J'ai écrit un code de base qui fait ce que vous demandez ci-dessous, avec quelques commentaires en ligne. Une remarque, lorsque vous jouez avec les délimiteurs d'éléments de texte, terminez toujours le script en les remettant par défaut. J'ai stocké les délimiteurs d'éléments de texte originaux dans une variable appelée "tid", puis je les ai remis en place à la fin du script.

--Set the variables
set originalText to "http://www.thedomain.com/ajdkeial.html?keyword1={keyword1}&keyword2={keyword2}"
set key1 to "{keyword1}"
set key2 to "{keyword2}"
set subKey1 to "NewKeyWord"
set subKey2 to "AnotherKeyWord"

--Main Script
set tid to text item delimiters
set text item delimiters to key1
set tempList to every text item of originalText
(* the line above returns two item, everything before {keword1} and the second item is everything after {keyword1} *)
set text item delimiters to subKey1
set newText to every item of tempList as text
(* The line above takes the two items from tempList and puts the replacement key word between them *)
--Below, do the same for the second keyword
set text item delimiters to key2
set tempList to every text item of newText
set text item delimiters to subKey2
set newText to every item of tempList as text
set text item delimiters to tid
return newText --> "http://www.thedomain.com/ajdkeial.html?keyword1=NewKeyWord&keyword2=AnotherKeyWord"

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X