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: Por qué la criptografía habla siempre de Alice y Bob

Quien se acerca a la criptografía descubre enseguida a dos personajes que aparecen en casi…

2 días ago

Desbalanceo de Clases en Credit Scoring: Por Qué Usamos Ponderación en lugar de Undersampling

En credit scoring el desbalanceo de clases es la norma, no la excepción. En una…

4 días ago

Curiosidad: El “bug”, la polilla y la leyenda de Grace Hopper

Cualquiera que programe usa la palabra bug a diario para referirse a un fallo en…

1 semana ago

BG/BB: el modelo de CLV para compras en períodos discretos

Los dos artículos anteriores de la serie cubrieron BG/NBD, el modelo para negocios donde el…

2 semanas ago

Por Qué las Contraseñas Largas son más Seguras que las Complejas

"Tu contraseña debe tener al menos 8 caracteres, una mayúscula, un número y un símbolo…

2 semanas ago

Gini, KS y AUC: Cómo Medir la Calidad de un Modelo de Credit Scoring

Cuando un analista de riesgo presenta un nuevo scorecard ante el comité de dirección, la…

3 semanas ago

This website uses cookies.