Main Content

convertCharsToStrings

Convertir arreglos de caracteres en arreglos de cadenas, dejando otros arreglos sin alterar

Descripción

Cuando trabaje con su propio código, puede utilizar convertCharsToStrings para hacer que dicho código acepte arreglos de caracteres. De este modo, no tendrá que realizar ningún otro cambio en el código que había escrito para trabajar con arreglos de cadenas.

ejemplo

B = convertCharsToStrings(A) convierte A en un arreglo de cadenas si A es un arreglo de caracteres o un arreglo de celdas de vectores de caracteres. Si A tiene cualquier otro tipo de datos, convertCharsToStrings devuelve A sin modificar.

ejemplo

[B1,...,Bn] = convertCharsToStrings(A1,...,An) convierte cualquier arreglo de caracteres o arreglo de celdas de vectores de caracteres de A1,...,An en arreglos de cadenas y después los devuelve como los argumentos de salida correspondientes de B1,...,Bn. Si alguno de los argumentos A1,...,An tiene cualquier otro tipo de dato, convertCharsToStrings lo devuelve sin modificar.

Ejemplos

contraer todo

Cree un vector de caracteres y conviértalo en un escalar de cadena.

chr = 'Mercury'
chr = 
'Mercury'
str = convertCharsToStrings(chr)
str = 
"Mercury"

Convierta un arreglo de celdas de vectores de caracteres en un arreglo de cadenas.

C = {'Venus','Earth','Mars'}
C = 1x3 cell
    {'Venus'}    {'Earth'}    {'Mars'}

str = convertCharsToStrings(C)
str = 1x3 string
    "Venus"    "Earth"    "Mars"

Procese un número aleatorio de arreglos de entrada de diferentes tipos y convierta solo los arreglos de caracteres en arreglos de cadenas.

Cree un conjunto de arreglos numéricos, de caracteres y de cadenas.

A = [1 2 3]
A = 1×3

     1     2     3

str = ["Mercury","Gemini","Apollo"]
str = 1x3 string
    "Mercury"    "Gemini"    "Apollo"

B = [2 5; 7 6]
B = 2×2

     2     5
     7     6

C = {'volts','amps'}
C = 1x2 cell
    {'volts'}    {'amps'}

Convierta el arreglo de caracteres y deje los demás arreglos sin alterar.

[newA,newStr,newB,newC] = convertCharsToStrings(A,str,B,C)
newA = 1×3

     1     2     3

newStr = 1x3 string
    "Mercury"    "Gemini"    "Apollo"

newB = 2×2

     2     5
     7     6

newC = 1x2 string
    "volts"    "amps"

Argumentos de entrada

contraer todo

Arreglo de entrada, especificado como arreglo de cualquier tamaño y tipo de datos.

Argumentos de salida

contraer todo

Arreglo de salida. El tipo de datos del arreglo de salida depende del tipo de datos del arreglo de entrada, A.

  • Si A es un vector de caracteres, B es un escalar de cadena.

  • Si A es un arreglo de celdas de vectores de caracteres, B es un arreglo de cadenas que tiene el mismo tamaño.

  • Si A es un arreglo de caracteres con varias filas, las columnas de A se concatenan y B se devuelve como un escalar de cadena. Por ejemplo, el arreglo de caracteres de 3 por 2 ['Xx';'Yy';'Zz'] se convierte en "XYZxyz".

  • Si A tiene otro tipo de datos, B es idéntico a A.

Sugerencias

  • Para permitir que el código que opera con cadenas acepte arreglos de caracteres como entradas, añada una llamada a convertCharsToStrings al principio del código.

    Por ejemplo, si ha definido una función myFunc que acepta tres argumentos de entrada, procese las tres entradas mediante convertCharsToStrings. No modifique el resto del código.

    function y = myFunc(a,b,c)
        [a,b,c] = convertCharsToStrings(a,b,c);
        <line 1 of original code>
        <line 2 of original code>
        ...

    En este ejemplo, los argumentos de salida [a,b,c] sobrescriben los argumentos de entrada. Si algún argumento de entrada no es un arreglo de caracteres o un arreglo de celdas de vectores de caracteres, no se modifica.

    Si myFunc acepta un número variable de argumentos de entrada, procesa todos los argumentos especificados por varargin.

    function y = myFunc(varargin)
        [varargin{:}] = convertCharsToStrings(varargin{:});
        ...
  • La función convertCharsToStrings es más eficaz cuando convierte un argumento de entrada. Si el rendimiento le preocupa, llame a convertCharsToStrings en un argumento de entrada cada vez, en lugar de llamarlo una sola vez en varias entradas.

Capacidades ampliadas

Entorno basado en subprocesos
Ejecute código en segundo plano con MATLAB® backgroundPool o acelere código con Parallel Computing Toolbox™ ThreadPool.

Historial de versiones

Introducido en R2017b