Dominando Strings en MATLAB: Creación, Manipulación y Funciones
Crear una cadena de caracteres en MATLAB es sencillo. Las strings son arrays de caracteres.
my_string = 'Tutorials Point'
Usando whos vemos: my_string 1x16 32 char.
Conversión a Códigos Numéricos
Funciones como uint8 o uint16 convierten caracteres a sus códigos ASCII/Unicode. char hace la conversión inversa.
my_string = 'Tutorial''s Point'; str_ascii = uint8(my_string) % códigos de 8 bits str_back = char(str_ascii) % vuelve a caracteres str_16bit = uint16(my_string) % códigos de 16 bits
Arrays de Caracteres Rectangulares
Para almacenar múltiples líneas de texto (arrays 2D), todas las filas deben tener la misma longitud.
Concatenación Vertical
- Con corchetes
[]y punto y coma;(requiere igual longitud, rellenar con espacios). - Con función char (rella automáticamente con espacios al final).
doc_profile = ['Zara Ali '; 'Sr. Surgeon '; 'R N Tagore Cardiology Research Center']
doc_profile = char('Zara Ali', 'Sr. Surgeon', 'RN Tagore Cardiology Research Center')
Concatenación Horizontal
- Con
[]y coma/espacio (preserva espacios finales). - Con strcat (elimina espacios finales).
name = 'Zara Ali '; position = 'Sr. Surgeon '; worksAt = 'R N Tagore...'; profile = [name ', ' position ', ' worksAt] profile = strcat(name, ', ', position, ', ', worksAt)
Combinar Strings en Cell Arrays
Más flexible para strings de longitud variable. La función cellstr convierte un array de caracteres en cell array de strings.
profile = char(name, position, worksAt); profile = cellstr(profile); disp(profile)
Resultado: cell array con cada nombre en una celda sin relleno.
Funciones de Strings en MATLAB
MATLAB ofrece decenas de funciones categorizadas:
| Almacenamiento y Combinación | |
|---|---|
| blanks | Crea string de espacios en blanco |
| cellstr | Cell array de strings desde array caracteres |
| char | Convierte a array de caracteres |
| iscellstr | Verifica si es cell array de strings |
| ischar | Verifica si es array de caracteres |
| sprintf | Formatea datos en string |
| strcat | Concatena horizontalmente |
| strjoin | Une strings de cell array en uno solo |
| Identificación, Búsqueda y Reemplazo | |
| isletter | Elementos que son letras |
| isspace | Elementos que son espacios |
| isstrprop | Verifica categoría de string |
| sscanf | Lee datos formateados de string |
| strfind | Encuentra substring |
| strrep | Busca y reemplaza substring |
| strsplit | Divide string por delimitador |
| strtok | Partes seleccionadas de string |
| validatestring | Valida string de texto |
| symvar | Variables simbólicas en expresión |
| regexp | Expresión regular (sensible a mayúsculas) |
| regexpi | Expresión regular (insensible a mayúsculas) |
| regexprep | Reemplaza con expresión regular |
| regexptranslate | Traduce string a expresión regular |
| Comparación | |
| strcmp | Compara strings (case-sensitive) |
| strcmpi | Compara strings (case-insensitive) |
| strncmp | Compara primeros n caracteres (sensitive) |
| strncmpi | Compara primeros n caracteres (insensitive) |
| Mayúsculas/Minúsculas y Espacios | |
| deblank | Elimina espacios finales |
| strtrim | Elimina espacios al inicio y final |
| lower | Convierte a minúsculas |
| upper | Convierte a mayúsculas |
| strjust | Justifica array de caracteres |
Ejemplos Prácticos
Formateo con sprintf
A = pi*1000*ones(1,5);
sprintf(' %f \n %.2f \n %+.2f \n %12.2f \n %012.2f \n', A)
Unión con strjoin
str_array = {'red','blue','green','yellow','orange'};
str1 = strjoin(str_array, '-') % red-blue-green-yellow-orange
str2 = strjoin(str_array, ',') % red,blue,green,yellow,orange
Búsqueda y Reemplazo con strrep y strtok
students = {'Zara Ali', 'Neha Bhatnagar', ...};
new_student = strrep(students(8), 'Reva', 'Poulomi') % reemplaza en celda 8
first_names = strtok(students) % extrae primeros nombres
Comparación con strcmp
str1 = 'This is test'; str2 = 'This is text'; if strcmp(str1,str2) ... else ... end
MATLAB
- MATLAB: Visión General del Entorno Líder en Computación Numérica
- Variables en MATLAB: Conceptos Básicos y Ejemplos Prácticos
- Comandos Esenciales de MATLAB para Computación Eficiente
- Tipos de Datos en MATLAB: Guía Completa de Conversión y Determinación
- Operadores en MATLAB: Guía Completa de Aritméticos, Relacionales, Lógicos y Bitwise
- Matrices en MATLAB: Creación, Referenciación y Manipulación de Datos
- MATLAB: Dominando Arrays Multidimensionales y Especiales
- Dominando la Notación de Dos Puntos en MATLAB: Vectores e Iteraciones
- MATLAB - Números: Tipos, Almacenamiento y Conversión
- Funciones en MATLAB: Definición, Workspace, Entradas y Salidas
- Dominar Strings en Java: Creación, Métodos y Mejores Prácticas