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

Los indicadores que se autocumplen, o cuando medir es modificar – El bestiario de los indicadores económicos absurdos (parte 7)

En las seis entregas anteriores hemos paseado por casi todos los géneros del disparate económico:…

5 días ago

Customer Lifetime Value: la fórmula clásica que todo analista debería dominar

El Customer Lifetime Value (CLV) es, probablemente, la métrica más importante que puede calcular una…

7 días ago

Analytics Lane lanza la versión 1.4 del laboratorio con nuevas herramientas de conversión y modelos avanzados de CLV

Seguimos ampliando el laboratorio de Analytics Lane con el lanzamiento de la versión 1.4, que…

2 semanas ago

Lanzamos el video de ScoreFlow: crea scorecards de crédito de forma ágil y sin IT

En Analytics Lane seguimos apostando por desarrollar herramientas que simplifiquen el trabajo de analistas y…

2 semanas ago

Data Leakage en Credit Scoring: El Error que Invalida tu Modelo

Imagina que construyes un scorecard con un Gini de 0,85. Un resultado extraordinario, muy por…

2 semanas ago

This website uses cookies.