Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

Arreglos de celdas de vectores de caracteres

Para almacenar texto como un vector de caracteres, enciérrelo entre comillas simples. Generalmente, un vector de caracteres tiene texto que se considera un único bloque de información, como un nombre de archivo o la etiqueta de una gráfica. Si tiene varios bloques de texto, como una lista de nombres de archivos, puede almacenarlos en un arreglo de celdas. Un arreglo de celdas cuyos elementos sean todos vectores de caracteres es un arreglo de celdas de vectores de caracteres.

Nota

  • La forma recomendada de almacenar texto es utilizar arreglos de cadenas. Si crea variables que tengan el tipo de datos string, almacénelos en arreglos de cadenas, no en arreglos de celdas. Para obtener más información, consulte Texto en arreglos de cadenas y caracteres y Update Your Code to Accept Strings.

  • Si bien se ha utilizado mucho la expresión arreglo de celdas de cadenas para describir este tipo de arreglos de celdas, esta denominación ya no es precisa porque esos arreglos de celdas contienen vectores de caracteres, no cadenas.

Crear un arreglo de celdas de vectores de caracteres

Para crear un arreglo de celdas de vectores de caracteres, utilice llaves, {}, de la misma forma que lo haría para crear cualquier arreglo de celdas. Por ejemplo, utilice un arreglo de celdas de vectores de caracteres para almacenar una lista de nombres.

C = {'Li','Sanchez','Jones','Yang','Larson'}
C = 1x5 cell
    {'Li'}    {'Sanchez'}    {'Jones'}    {'Yang'}    {'Larson'}

Los vectores de caracteres en C pueden tener distintas longitudes, porque no es necesario que los contenidos de un arreglo de celdas tengan el mismo tamaño. Para determinar las longitudes de los vectores de caracteres en C, utilice la función strlength.

L = strlength(C)
L = 1×5

     2     7     5     4     6

Acceder a los vectores de caracteres de un arreglo de celdas

Para acceder a los vectores de caracteres de un arreglo de celdas, indexe en ellos usando llaves, {}. Extraiga el contenido de la primera celda y almacénelo como un vector de caracteres.

C = {'Li','Sanchez','Jones','Yang','Larson'};
chr = C{1}
chr = 
'Li'

Asigne un vector de caracteres diferente a la primera celda.

C{1} = 'Yang'
C = 1x5 cell
    {'Yang'}    {'Sanchez'}    {'Jones'}    {'Yang'}    {'Larson'}

Para hacer referencia a un subconjunto de celdas en vez de a su contenido, indexe usando paréntesis.

C(1:3)
ans = 1x3 cell
    {'Yang'}    {'Sanchez'}    {'Jones'}

Si bien puede acceder al contenido de celdas mediante indexación, la mayoría de funciones que aceptan arreglos de celdas como entradas operan en todo el arreglo de celdas. Por ejemplo, puede usar la función strcmp para comparar el contenido de C con un vector de caracteres. strcmp devuelve 1 si hay una coincidencia y 0 si no la hay.

TF = strcmp(C,'Yang')
TF = 1x5 logical array

   1   0   0   1   0

Puede sumar TF para encontrar el número de coincidencias.

num = sum(TF)
num = 2

Utilice TF como índices lógicos para devolver las coincidencias en C. Si indexa usando paréntesis, la salida es un arreglo de celdas que contiene solo las coincidencias.

M = C(TF)
M = 1x2 cell
    {'Yang'}    {'Yang'}

Convertir arreglos de celdas en arreglos de cadenas

Los arreglos de cadenas son compatibles con MATLAB® y todos los otros productos de MathWorks®. Por lo tanto, se recomienda que utilice arreglos de cadenas en vez de arreglos de celdas de vectores de caracteres. (Sin embargo, las funciones de MATLAB que aceptan arreglos de cadenas como entradas también aceptan vectores de caracteres y arreglos de celdas de vectores de caracteres).

Puede convertir los arreglos de celdas de vectores de caracteres en arreglos de cadenas. Para convertir un arreglo de celdas de vectores de caracteres, utilice la función string.

C = {'Li','Sanchez','Jones','Yang','Larson'}
C = 1x5 cell
    {'Li'}    {'Sanchez'}    {'Jones'}    {'Yang'}    {'Larson'}

str = string(C)
str = 1x5 string
    "Li"    "Sanchez"    "Jones"    "Yang"    "Larson"

De hecho, la función string convierte cualquier arreglo de celdas, siempre que todo el contenido pueda convertirse en cadenas.

C2 = {5, 10, 'some text', datetime('today')}
C2=1×4 cell array
    {[5]}    {[10]}    {'some text'}    {[19-Aug-2023]}

str2 = string(C2)
str2 = 1x4 string
    "5"    "10"    "some text"    "19-Aug-2023"

Consulte también

| | | |

Temas relacionados