Tengo una variable de texto de clase text
que muestra algo así cuando se devuelve:
"
This is sentence 1.
This is sentence 2.
This is sentence 3.
This is sentence 4."
Quiero poder borrar líneas específicas del texto, sin afectar al resto de la variable.
Por ejemplo: delete {1, 3}
para obtener este resultado:
"This is sentence 1.
This is sentence 3.
This is sentence 4."
El método descrito en esta respuesta tiene un grave error:
"¿Cómo borrar una línea específica de un párrafo en AppleScript?"
El método vinculado para borrar líneas en un párrafo en realidad convierte todos los saltos de línea en la variable de texto en retornos. En otras palabras, es imposible ejecutar este código más de una vez en la misma variable.
Por ejemplo, el siguiente código:
set varText to "
This is sentence 1.
This is sentence 2.
This is sentence 3.
This is sentence 4."
set varText to do shell script "sed -e '1d;3d' <<< " & quoted form of varText
-- Employing the same method on the same variable:
set varText to do shell script "sed -e '1d;3d' <<< " & quoted form of varText
return varText
devuelve
""
Como este método sólo funciona correctamente si las líneas de la variable de texto son el producto de un linefeed
(como debería), el problema es no que este método no percibe una return
como una nueva línea (como había afirmado originalmente en esta pregunta). El problema es que este código introduce un return
a la variable de texto en primer lugar.
Por lo tanto, quiero una solución que me permita pasar la misma variable de texto por la solución más de una vez en el mismo AppleScript.
En otras palabras, estoy buscando un método para eliminar una línea específica de un párrafo que no tenga este error y no inserte un return
en cualquier parte del texto.