2 votos

¿Cómo eliminar el último carácter de una cadena si sé cuál es el carácter en AppleScript?

Así que, básicamente, estuve trasteando con AppleScript y creé una variable basada en la ruta de la aplicación y siempre tiene una barra diagonal al final que no quiero. Ver mi otra pregunta para más información. Básicamente, thePath se establece como /Applications/MyEpicApp.app/ con ese extra / No quiero.

¿Qué es lo "opuesto" a "sometext" & someVariable en AppleScript?

Muchas gracias de antemano, agradezco toda la información.

6voto

meataxe Puntos 6

Para que se devuelva una parte de la cadena, el formato sería

set StringVariable2 to (characters n through n of StringVariable1) as string

n es el número de caracteres de la cadena que comienza en 1
as string es importante o de lo contrario se obtiene una lista de caracteres individuales devueltos

Sólo asegúrese de que siempre que analice cualquier texto, lista u otro elemento dentro de AppleScript tenga text item delimiters en su valor por defecto (una lista vacía {} ) a menos que quiera incluir esos caracteres en el resultado también.

En tu ejemplo de quitar el último carácter, sería:

set StringVariable2 to (characters 1 through ((length of StringVariable1) - 1) of StringVariable1) as string

0 votos

@Alex Zavatone, he eliminado tu edición por dos razones... 1. Esta respuesta (y pregunta para el caso) realmente no tiene nada que ver con los delimitadores de elementos de texto porque por defecto ya es {} o "" . 2. Para empezar, no se modificó y, por lo tanto, no es necesario hacer nada con él y es totalmente innecesario para esta respuesta.

0 votos

@user3439894 La respuesta tiene todo que ver con la respuesta, porque si el usuario ha establecido diferentes delimitadores de elementos de texto AppleScript entonces esto no funcionará. Es required para establecer los delimitadores de elementos a lo que mencioné o esto fallará. Mi edición proporcionó una solución completa. Lo anterior falló para mí porque los delimitadores de elementos de texto no eran "".

0 votos

@user3439894 La razón por la que añadí esto en primer lugar es que la solución proporcionada no funcionó cuando la probé. Esto era porque había estado utilizando diferentes delimitadores de elementos de texto. Mis ediciones son el resultado de las pruebas y la verificación.

0voto

G H Puntos 1

Esta sentencia utiliza la función de subíndice negativo de AppleScript para eliminar la "/" final si está presente:

if the_path ends with "/" then set the_path to text 1 thru -2 of the_path

Esto no hace nada (no se genera ningún error) si the_path contiene "".

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X