recuperar la ultima palabra de un string con powershell

A la hora de trabajar con cadenas de texto (strings) powershell nos permite acceder a las palabras como si de un array se tratara, para ello hay que recurrir a la función split().

$texto = "esta es mi cadena de texto de prueba"
$ultimaPalabra = $texto.split()[-1]

Como veis, primero defino una variable que contiene un string. Después accedo a la última palabra usando el índice -1, de tal forma que la variable $ultimaPalabra contiene el texto “prueba”.

Como ya habréis imaginado, también se puede acceder a la penúltima palabra usando el índice -2.

También se puede acceder a la primera palabra, pero atención, algunos habréis pensado que en este caso habría que usar el índice 1, pero no es así, ya que los arrays en powershell comienzan con el cero, es decir, que para obtener la primera palabra habría que poner lo siguiente:

$primeraPalabra = $texto.split()[0]

En este caso, la variable $primeraPalabra contendrá el texto “esta”.

Por último, también comentar que si por ejemplo tenéis una cadena de texto, separada por ejemplo por puntos y comas, la función split() también nos puede ayudar a separarlo en palabras de la siguiente manera:

$textoPuntosYComas = "esto;es;una;cadena;con;puntos y comas"
$ultimaCadena = $textoPuntosYComas.split(';')[-1]

He puesto a propósito la última parte del string con espacios, para que veáis el resultado del comando. Al indicar a la función split() que divida el string por ‘;’ los espacios son tratados como un caracter normal, por lo que la variable $ultimaCadena contendrá “puntos y comas”.

Os recomiendo que hagáis vuestras pruebas para que terminéis de comprobar el funcionamiento de split().

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *