Reemplazar variables específicas en el texto seleccionado a través de secuencias de comandos

1

Entonces, para mi trabajo, estoy generando constantemente enlaces que tienen que cambiar las variables (Ej. enlace {keyword1} & keyword2 = {keyword2})

El enlace se genera con esos corchetes, para ser reemplazado. Ahora soy completamente analfabeto con el código, pero estoy buscando una manera de: Seleccionar el texto y reemplazar {keyword1} con la palabra clave real que quiero, y {keyword2} con la segunda.

Imagino que esto se hará con el historial del portapapeles para que las variables se capturen a través de la aplicación "Alfred", sin embargo, no estoy seguro de cómo podría escribir un script que capture estas variables y reemplace el texto, luego me da el producto terminado . Si alguien tuviera alguna dirección a la que dirigirse, sería muy apreciado.

    
pregunta Garrett Smith 27.09.2017 - 00:08

1 respuesta

1

Este es un trabajo para delimitadores de elementos de texto. Si no está familiarizado, un delimitador es un separador, normalmente entre palabras, el separador es un espacio. Con los delimitadores de elementos de texto, puede cambiar el espacio normal a cualquier valor de texto que desee. En este caso, usted haría de "{keyword1}" los delimitadores del elemento de texto, luego el script verá el texto original como solo dos palabras, todo antes de "Keyword1" y todo después es la segunda palabra. Luego, configura los delimitadores de elementos de texto a lo que quiera que reemplace "{keyword1}" con, y coloque las dos palabras de nuevo en un elemento de texto.

He escrito un código básico que hace lo que pides a continuación, con algunos comentarios en línea. Una nota, siempre que juegue con delimitadores de elementos de texto, siempre finalice el script volviéndolo a la configuración predeterminada. Almacené los delimitadores del elemento del texto original en una variable llamada "tid", luego los puse de nuevo al final de la secuencia de comandos.

--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"
    
respondido por el Hurston 27.09.2017 - 19:24

Lea otras preguntas en las etiquetas