Sostituisci variabili specifiche nel testo selezionato tramite script

1

Quindi per il mio lavoro, creo costantemente link che devono modificare variabili che devono essere modificate (ad es. link {keyword1} & keyword2 = {keyword2})

Il collegamento è generato con queste parentesi, da sostituire. Ora sono completamente analfabeta dal codice, ma sto cercando un modo per: selezionare il testo e sostituire {keyword1} con la parola chiave effettiva desiderata e {keyword2} con la seconda.

Immagino che questo venga fatto con la cronologia degli appunti per le variabili da afferrare tramite l'app "Alfred", tuttavia non sono sicuro di come potrei scrivere uno script che cattura queste variabili e sostituisce il testo, quindi mi dà il prodotto finito . Se qualcuno avesse una direzione da seguire, sarebbe molto apprezzato.

    
posta Garrett Smith 27.09.2017 - 00:08
fonte

1 risposta

1

Questo è un lavoro per i delimitatori di elementi di testo. Se non sei familiare, un delimitatore è un separatore, normalmente tra le parole il separatore è uno spazio. Con i delimitatori degli elementi di testo, è possibile modificare lo spazio normale in qualsiasi valore di testo desiderato. In questo caso, dovresti rendere "{keyword1}" i delimitatori di testo, quindi lo script vedrà il testo originale come solo due parole, tutto prima di "Keyword1" e dopo tutto è la seconda parola. Quindi imposti i delimitatori di elementi di testo in qualsiasi modo desideri sostituire "{keyword1}" con e racchiudere le due parole in un elemento di testo.

Ho scritto un codice base che fa quello che chiedi qui sotto, con alcuni commenti in linea. Una nota, ogni volta che si gioca con delimitatori di elementi di testo, termina sempre lo script riportandoli al valore predefinito. Ho memorizzato i delimitatori di testo originali in una variabile chiamata "tid", quindi li ho reimpostati alla fine dello 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"
    
risposta data 27.09.2017 - 19:24
fonte

Leggi altre domande sui tag