Tengo una variable de texto de la clase text
que muestra algo como esto cuando se devuelve:
"
This is sentence 1.
This is sentence 2.
This is sentence 3.
This is sentence 4."
Quiero poder eliminar líneas específicas del texto, sin afectar el 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 error grave:
< em> "¿Cómo eliminar una línea específica de un párrafo en AppleScript?"
El método vinculado para eliminar 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
""
Dado que este método solo funciona correctamente si las líneas de la variable de texto son el producto de un linefeed
(como debería), el problema es not que esto el método no percibe un return
como una nueva línea (como dije 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 ejecutar la misma variable de texto a través de 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 tiene este error y no inserta un return
en ninguna parte del texto.