Matlab

Eliminar espacios en blanco al inicio o al final en Matlab

Cuando se tiene una cadena de texto en Matlab es posible eliminar los espacios en blanco sobrantes con la función strtrim(). Eliminando los espacios en blanco al inicio y al final de la cadena. A diferencia de otros lenguajes de programación no existen funciones para eliminar solamente los espacios en blanco sobrantes al principio o al final de la cadena. Como puede ser LTRIM y RTRIM en SQL. Aunque esto es algo que se puede solucionar fácilmente mediante expresiones regulares con las que se puede implementar funciones que puedan eliminar los espacios en blanco al inicio o al final en Matlab.

La función strtrim() de Matlab

Si se tiene una cadena con espacios en blanco en Matlab se puede usar la función para eliminar los que se encuentran al principio o al final. Por ejemplo, si se ejecuta la línea

strtrim(' ¡Hola Mundo!  ')

El resultado será la cadena sin espacios en blanco: '¡Hola Mundo'. Ahora, si solamente se quería eliminar los espacios a final de la cadena esto no se puede hacer con strtrim().

Uso de expresiones regulares para eliminar los espacios en blanco

Este problema se puede resolver mediante el uso de expresiones regulares. Si se desea eliminar los espacios en blanco al inicio de una cadena se puede usar '^\s+', mientras que para usarlos al final sería '\s+$',. De este modo si se ejecuta la siguiente linea en Matlab

regexprep(' ¡Hola Mundo!  ', '^\s+', '')

El resultado será '¡Hola Mundo! ', Por otro lado la siguiente línea eliminar los espacios al final de la cadena.

regexprep(' ¡Hola Mundo!  ', '\s+$', '')

Esto es, el resutaso será ' ¡Hola Mundo!'.

Implementación de las funciones ltrim() y strim() en Matlab

En base a lo visto en las secciones anteriores no es complicado escribir las funciones ltrim() y strim() para Matlab. Una posible implementación sería la que se muestra a continuación.

function str = ltrim(str)
% Elimina los espacios en blanco al principio de una cadena
str = regexprep(str, '^\s+', '');
end

function str = rtrim(str)
% Elimina los espacios en blanco al final de una cadena
str = regexprep(str, '\s+$', '');
end

Conclusiones

Eliminar espacios en blanco al inicio y al final de una cadena se puede realizar con la función strtrim(). Pero si solo se necesita eliminar los espacios al inicio o al final en Matlab es necesario recurrir a expresiones regulares. Aunque este truco se puede usar en cualquier otro sitio donde se puedan usar expresiones regulares. Al igual que se podría usar el truco para validar palabras con acentos mediante expresiones regulares en Matlab, una de las ventajas de conocer las expresiones regulares.

Imagen de Scott Webb en Pixabay

¿Te ha parecido de utilidad el contenido?

Daniel Rodríguez

Share
Published by
Daniel Rodríguez

Recent Posts

Curiosidad: El puerto 80 y los números de puerto

Durante décadas, cuando escribías una dirección web y pulsabas Intro, tu navegador hacía algo que…

4 días ago

Cómo Proyectar Cuándo Alcanzarás la Independencia Financiera

La independencia financiera es el punto en el que tus inversiones generan suficientes rendimientos para…

6 días ago

Cómo Elegir el Test de Hipótesis Correcto para tus Datos

Tienes dos grupos de datos y quieres saber si son estadísticamente distintos. O tienes una…

2 semanas ago

Tuplas vs Listas en Python: parecen lo mismo, pero no

A primera vista, tuplas y listas son casi idénticas. Ambas guardan colecciones ordenadas de elementos.…

2 semanas ago

Qué significa realmente “calidad de datos”

"Nuestros datos no tienen buena calidad." Escuchas esto constantemente en reuniones. El problema es que…

3 semanas ago

Cómo Detectar Pseudo-IDs y Data Leakage en el Constructor de Scorecards

El artículo Data Leakage en Credit Scoring explicó por qué este es el error más…

3 semanas ago

This website uses cookies.