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

De la Regresión Logística al Scorecard: La Transformación Matemática

En un entrada previa explicamos qué son el WOE y el IV y por qué…

1 día ago

Analytics Lane lanza la versión 1.1 del laboratorio con nuevas suites de CLV y Scoring

Seguimos evolucionando el laboratorio de Analytics Lane y hoy lanzamos la versión 1.1, disponible en:…

2 días ago

Interés compuesto: la fuerza que multiplica tu dinero (y los errores que la anulan)

“El interés compuesto es la octava maravilla del mundo. El que lo entiende lo gana…

6 días ago

Cómo comparar datos con barras en Matplotlib: agrupadas, apiladas y porcentuales

Tienes los datos de ventas de tres productos en dos años distintos y quieres saber…

1 semana ago

Costes hundidos en ciencia de datos: cuándo mantener un modelo y cuándo migrar

Imagina la situación. Tu equipo lleva tres años con un modelo en producción. No es…

2 semanas ago

WOE e IV: La Base Matemática del Credit Scoring

Cuando un banco evalúa una solicitud de crédito necesita responder a una pregunta aparentemente simple:…

2 semanas ago

This website uses cookies.