Matlab: diferencia entre conjunto de cadenas y cadena

Prólogo

Al formatear la salida con sprintf (), descubrí que formatSpec puede ser una matriz de cadenas creada con comillas simples o una cadena creada con una cadena ('str'). Entonces me preguntaba, ¿cuál es la diferencia entre los dos y dónde se aplica cada uno?

Documentos oficiales

Character arrays and string arrays provide storage for text data in MATLAB®.

    A character array is a sequence of characters, just as a numeric array is a sequence of numbers. A typical use is to store short pieces of text as character vectors, such as c = 'Hello World'.

    A string array is a container for pieces of text. String arrays provide a set of functions for working with text as data. Starting in R2017a, you can create strings using double quotes, such as str = "Greetings friend". To convert data to string arrays, use the string function.

Código

str=sprintf('pi = %.5f',pi);  %输出类型为char
str1=sprintf(string('pi = %.5f'),pi);    %输出类型为string

Resultado de salida:

%测试字符串数组
>> class(str)
ans =
char

>> str(1)
ans =
p

>> size(str)
ans =
     1    12

%测试string
>> class(str1)
ans =
string

>> size(str1)
ans =
     1     1
     
>> str1(1)
ans = 
  string
    "pi = 3.14159"

Resumen

Se puede ver en la documentación:

  1. Un conjunto de cadenas es equivalente a una matriz (vector) de tipo de datos char. Creado con comillas simples. Puede ser indexado.
  2. cadena es equivalente a una clase. Use la función string () para crear un objeto de instancia. Entonces, hay funciones que pueden operar en cadenas. El tamaño es 1 * 1.
Publicado 47 artículos originales · Me gusta 33 · Visita 310,000+

Supongo que te gusta

Origin blog.csdn.net/kaever/article/details/70207486
Recomendado
Clasificación