Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

string

Array de cadenas 

Descripción

A partir de R2016b, puede representar texto mediante arreglos de cadena en lugar de matrices de caracteres. Cada elemento de un arreglo de cadenas almacena una secuencia de caracteres. Las secuencias pueden tener diferentes longitudes sin relleno, como "yes" y "no". Una matriz de cadena que sólo tiene un elemento también se denomina escalar de cadena.

Puede indexar, cambiar la forma y concatenar matrices de cadenas mediante operaciones de arreglo de discos estándar, y puede anexar texto a cadenas mediante el operador + . Si una matriz de cadenas representa números, puede convertirla a una matriz numérica mediante la función double .

Creación

Puede crear una cadena encerrando un trozo de texto en comillas dobles. Las comillas dobles fueron introducidas en R2017a.

str = "Hello, world"
str = 
"Hello, world"

Una forma de crear una matriz de cadenas es concatenar cadenas en una matriz utilizando corchetes cuadrados, de la misma manera que se pueden concatenar números en una matriz numérica.

str = ["Mercury","Gemini","Apollo";
       "Skylab","Skylab B","ISS"]
str = 2x3 string array
    "Mercury"    "Gemini"      "Apollo"
    "Skylab"     "Skylab B"    "ISS"   

También puede convertir variables de distintos tipos de datos en matrices de cadenas mediante la función string , descrita a continuación.

Descripción

ejemplo

str = string(A) convierte la matriz de entrada en una matriz de cadenas.

ejemplo

str = string(D) convierte una matriz de duración DateTime, Duration o Calendar en una matriz de cadena en el formato especificado por la propiedad Format de D. La salida contiene una fecha o duración en cada fila.

ejemplo

str = string(D,fmt) representa las fechas o las duraciones del formato especificado, como 'HH:mm:ss'.

str = string(D,fmt,locale) representa fechas o duraciones en la configuración regional especificada, como 'en_US'. La configuración regional afecta al idioma utilizado para representar cadenas como los nombres de mes y día.

Argumentos de entrada

expandir todo

Array de entrada. El tipo de datos de A determina cómo string convierte A en una matriz de cadena.

  • Si A es un vector de caracteres, string convierte A en un escalar de cadena. La salida str y INPUT A tienen los mismos caracteres en el mismo orden.

  • Si A es una matriz de celdas o una matriz categórica, string convierte cada elemento de A en un elemento String en str.

  • Si A es una matriz numérica, string convierte cada número en un elemento String en str.

    A diferencia de la función char , string no trata los números como puntos de código ASCII o Unicode® .

  • Si A es una matriz lógica, string convierte cada valor a "false" o "true".

  • Si A es [], entonces string devuelve un arreglo de cadenas de 0-por-0.

Fecha y hora de entrada, especificada como una matriz DateTime o Duration.

Tipos de datos: datetime | duration | calendarDuration

Formato de fecha y hora, especificado como [], un vector de caracteres o un escalar de cadena. Si especifica [], stringD representa la entrada D en el formato especificado por la propiedad Format de .

Los formatos admitidos dependen del tipo de datos de D.

  • datetime los formatos pueden incluir combinaciones de unidades y delimitadores, como 'yyyy-MMM-dd HH:mm:ss.SSS'. Para obtener información detallada, vea la propiedad Format para las matrices DateTime.

  • Los formatos de duration son ya sea uno de los caracteres('y', 'd', 'h', 'm', o 's' de) o una de estas combinaciones:

    • 'dd:hh:mm:ss'

    • 'hh:mm:ss'

    • 'mm:ss'

    • 'hh:mm'

    • Cualquiera de los anteriores, con hasta nueve caracteres S para indicar segundos dígitos fraccionarios, como 'hh:mm:ss.SSSS'

  • Los formatos de calendarDuration pueden incluir combinaciones de los caracteres 'y', 'q', 'm', 'w', 'd', y 't' en orden desde la unidad de tiempo más grande a la más pequeña, como 'ym'.

Para obtener más información sobre los formatos duration y calendarDuration , vea Establecer formato de visualización de fecha y hora.

Configuración regional representada en la salida, especificada como un vector de caracteres o un escalar de cadena. La configuración regional afecta al idioma utilizado para representar ciertos componentes de fechas y horas, como los nombres de mes.

locale puede ser:

  • 'system' , para especificar la configuración regional del sistema.

  • Un vector de carácter en la forma xx_YY, donde xx es un código de dos letras en minúsculas ISO 639-1 que especifica un idioma, y YY es un código ISO 3166-1 alpha-2 en mayúsculas que especifica un país.

El argumento de entrada locale puede ser cualquiera de los valores aceptados por el argumento par nombre-valor de 'Locale' para la función datetime .

Ejemplo: 'en_US'

Ejemplo: 'ja_JP'

Argumentos de salida

expandir todo

Array de salida, devuelto como array de cadena.

MATLAB ® almacena todos los caracteres como caracteres Unicode mediante la codificación UTF-16. Para obtener más información sobre Unicode , vea Unicode.

Ejemplos

contraer todo

Para buscar las palabras únicas en una cadena, divida en caracteres de espacio y llame a la función unique .

Primero, cree un escalar de cadenas.

str = "A horse! A horse! My kingdom for a horse!"
str = 
"A horse! A horse! My kingdom for a horse!"

Elimine el signo de exclamación.

str = erase(str,"!")
str = 
"A horse A horse My kingdom for a horse"

Convertir todas las letras de str en caracteres en minúsculas.

str = lower(str)
str = 
"a horse a horse my kingdom for a horse"

Divida str en caracteres de espacio mediante la función split . split descarta los caracteres de espacio y devuelve el resultado como una matriz de cadenas.

str = split(str)
str = 9x1 string array
    "a"
    "horse"
    "a"
    "horse"
    "my"
    "kingdom"
    "for"
    "a"
    "horse"

Busque las palabras únicas en str mediante la función unique .

str = unique(str)
str = 5x1 string array
    "a"
    "for"
    "horse"
    "kingdom"
    "my"

A = 'Four score and seven years ago'
A = 
'Four score and seven years ago'
str = string(A)
str = 
"Four score and seven years ago"

str contiene los mismos caracteres que A. Pero aunque A es un vector de caracteres, str es un escalar de cadena.

c = size(A)
c = 1×2

     1    30

s = size(str)
s = 1×2

     1     1

Para devolver el número de caracteres de str, utilice la función strlength .

n = strlength(str)
n = 30

Convertir una matriz de celdas de vectores de caracteres en una matriz de cadenas.

A = {'Mercury','Gemini','Apollo';...
     'Skylab','Skylab B','ISS'}
A = 2x3 cell array
    {'Mercury'}    {'Gemini'  }    {'Apollo'}
    {'Skylab' }    {'Skylab B'}    {'ISS'   }

str = string(A)
str = 2x3 string array
    "Mercury"    "Gemini"      "Apollo"
    "Skylab"     "Skylab B"    "ISS"   

Para obtener acceso al segundo elemento de la primera fila de str, indexe mediante paréntesis suavizados. Puede tener acceso a cadenas en una matriz de cadenas con indexación matricial, de la misma manera que tendría acceso a elementos de una matriz numérica.

str(1,2)
ans = 
"Gemini"

Acceda a la tercera columna.

str(:,3)
ans = 2x1 string array
    "Apollo"
    "ISS"

A = [77 65 84 76 65 66]
A = 1×6

    77    65    84    76    65    66

str = string(A)
str = 1x6 string array
    "77"    "65"    "84"    "76"    "65"    "66"

str es una matriz de cadena en la que cada elemento representa un número de A. Tenga en cuenta que string no trata los números como valores ASCII o Unicode ® de la forma en que funciona la función char .

Cree una matriz de cadenas en la que cada elemento represente un número. Para convertir la matriz de cadenas en una matriz numérica, utilice la función double .

str = ["256","3.1416","8.9e-3"]
str = 1x3 string array
    "256"    "3.1416"    "8.9e-3"

X = double(str)
X = 1×3

  256.0000    3.1416    0.0089

Cuando el argumento INPUT es una matriz de cadena, la función double trata cada elemento como la representación de un valor de punto flotante. Sin embargo, cuando la entrada es una matriz de caracteres, double convierte cada carácter en un número que representa su valor Unicode ®.

Como alternativa, utilice la función str2double . str2double es adecuado cuando el argumento de entrada puede ser una matriz de cadenas, un vector de caracteres o una matriz de vectores de caracteres.

Y = str2double(str)
Y = 1×3

  256.0000    3.1416    0.0089

C = '2.7183';
Z = str2double(C)
Z = 2.7183

Cree una matriz duration .

D = hours(23:25) + minutes(8) + seconds(1.2345)
D = 1x3 duration array
   23.134 hr   24.134 hr   25.134 hr

Convierta D en una matriz de cadena.

str = string(D)
str = 1x3 string array
    "23.134 hr"    "24.134 hr"    "25.134 hr"

str es una matriz de cadena con un valor de duración por elemento. str tiene el mismo tamaño que D.

Especifique el formato de los valores de duración en str.

str = string(D,'hh:mm')
str = 1x3 string array
    "23:08"    "24:08"    "25:08"

Sugerencias

  • Para obtener una lista de funciones para crear y manipular texto en matrices de cadenas, vea Caracteres y cadenas.

  • Si el argumento INPUT es un objeto, debe pertenecer a una clase que implemente un método string para representar el objeto como una cadena.

Capacidades ampliadas

Introducido en R2016b