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.

Compare Text

Compare el texto en matrices de caracteres y matrices de cadenas de diferentes maneras. Las matrices de cadenas se introdujeron en R2016b. Puede comparar matrices de cadenas y vectores de caracteres con operadores relacionales y con la función.strcmp Puede ordenar matrices de cadenas mediante la función, al igual que ordenaría matrices de cualquier otro tipo.sort MATLAB® también proporciona funciones para inspeccionar caracteres en fragmentos de texto. Por ejemplo, puede determinar qué caracteres de un vector de caracteres o una matriz de cadenas son letras o caracteres de espacio.

Compare matrices de cadenas para igualdad

Puede comparar matrices de cadenas para la igualdad con los operadores relacionales y.==~= Cuando se comparan matrices de cadenas, la salida es una matriz lógica que tiene donde la relación es true y donde no es true.10

Crea dos escalares de cuerda. A partir de R2017a, puede crear cadenas utilizando comillas dobles.

str1 = "Hello"; str2 = "World"; str1,str2
str1 =  "Hello" 
str2 =  "World" 

Compare y para la igualdad.str1str2

str1 == str2
ans = logical
   0

Compare una matriz de cadenas con varios elementos en un escalar de cadena.

str1 = ["Mercury","Gemini","Apollo";...         "Skylab","Skylab B","International Space Station"]; str2 = "Apollo"; str1 == str2
ans = 2x3 logical array

   0   0   1
   0   0   0

Compare una matriz de cadenas con un vector de caracteres. Siempre que una de las variables sea una matriz de cadenas, puede realizar la comparación.

chr = 'Gemini'; TF = (str1 == chr)
TF = 2x3 logical array

   0   1   0
   0   0   0

Índice en con para extraer los elementos de cadena que coinciden.str1TFGemini Puede utilizar matrices lógicas para indexar en una matriz.

str1(TF)
ans =  "Gemini" 

Compare la desigualdad con el operador.~= Índice para extraer los elementos que no coinciden.str1'Gemini'

TF = (str1 ~= chr)
TF = 2x3 logical array

   1   0   1
   1   1   1

str1(TF)
ans = 5x1 string array
    "Mercury"
    "Skylab"
    "Skylab B"
    "Apollo"
    "International Space Station"

Compare dos matrices de cadenas no escalares. Al comparar dos matrices no escalares, deben tener el mismo tamaño.

str2 = ["Mercury","Mars","Apollo";...         "Jupiter","Saturn","Neptune"]; TF = (str1 == str2)
TF = 2x3 logical array

   1   0   1
   0   0   0

Índice para extraer las coincidencias.str1

str1(TF)
ans = 2x1 string array
    "Mercury"
    "Apollo"

Compare las matrices de cadenas con otros operadores relacionales

También puede comparar cadenas con los operadores relacionales, y.>>=<<= Las cadenas que empiezan con letras mayúsculas vienen antes que las cadenas que empiezan con letras minúsculas. Por ejemplo, la cadena es menor que."ABC""abc" Dígitos y algunos signos de puntuación también vienen antes de las letras.

"ABC" < "abc"
ans = logical
   1

Compare una matriz de cadenas que contiene nombres con otro nombre con el operador.> Los nombres, y vienen después, porque,, y todos son mayores que.Sanchezde PonteNashMatthewsSdNM

str = ["Sanchez","Jones","de Ponte","Crosby","Nash"];  TF = (str > "Matthews")
TF = 1x5 logical array

   1   0   1   0   1

str(TF)
ans = 1x3 string array
    "Sanchez"    "de Ponte"    "Nash"

Clasificar matrices de cadenas

Puede ordenar matrices de cadenas. MATLAB® almacena caracteres como Unicode® mediante el esquema de codificación de caracteres UTF-16. Las matrices de caracteres y cadenas se ordenan según el orden de punto de código UTF-16. Para los caracteres que también son caracteres ASCII, este orden significa que las letras mayúsculas vienen antes que las minúsculas. Los dígitos y algunos signos de puntuación también vienen antes de las letras.

Ordene la matriz de cadenas.str

sort(str)
ans = 1x5 string array
    "Crosby"    "Jones"    "Nash"    "Sanchez"    "de Ponte"

Ordene una matriz de cadenas de 2 por 3. La función ordena los elementos de cada columna por separado.sort

sort(str2)
ans = 2x3 string array
    "Jupiter"    "Mars"      "Apollo" 
    "Mercury"    "Saturn"    "Neptune"

Para ordenar los elementos de cada fila, ordene a lo largo de la segunda dimensión.str2

sort(str2,2)
ans = 2x3 string array
    "Apollo"     "Mars"       "Mercury"
    "Jupiter"    "Neptune"    "Saturn" 

Comparar vectores de caracteres

Puede comparar los vectores de caracteres y matrices de celdas de vectores de caracteres entre sí. Utilice la función para comparar dos vectores de caracteres o para comparar los primeros caracteres.strcmpstrncmpN También puede usar y para comparaciones entre mayúsculas y minúsculas.strcmpistrncmpi

Compare dos vectores de caracteres con la función. y no son iguales.strcmpchr1chr2

chr1 = 'hello'; chr2 = 'help'; TF = strcmp(chr1,chr2)
TF = logical
   0

Tenga en cuenta que el MATLAB difiere de la versión C de.strcmpstrcmp La versión C de devuelve cuando dos matrices de caracteres son iguales, no cuando son diferentes.strcmp0

Compare los dos primeros caracteres con la función. es porque ambos vectores de caracteres empiezan con los caracteres.strncmpTF1he

TF = strncmp(chr1,chr2,2)
TF = logical
   1

Compare dos matrices de celdas de vectores de caracteres. Devuelve una matriz lógica que tiene el mismo tamaño que las matrices de celdas.strcmp

C1 = {'pizza'; 'chips'; 'candy'}; C2 = {'pizza'; 'chocolate'; 'pretzels'}; strcmp(C1,C2)
ans = 3x1 logical array

   1
   0
   0

Inspeccionar caracteres en matrices de caracteres y cadenas

Puede inspeccionar los caracteres en matrices de cadenas o matrices de caracteres con el, y funciones.isstrpropisletterisspace

  • Inspecciona caracteres en matrices de cadenas o matrices de caracteres.isstrprop

  • Las funciones y solo inspeccionan caracteres en matrices de caracteres.isletterisspace

Determine qué caracteres de un vector de caracteres son caracteres de espacio. Devuelve un vector lógico que tiene el mismo tamaño que.isspacechr

chr = 'Four score and seven years ago'; TF = isspace(chr)
TF = 1x30 logical array

   0   0   0   0   1   0   0   0   0   0   1   0   0   0   1   0   0   0   0   0   1   0   0   0   0   0   1   0   0   0

La función puede consultar caracteres para muchos rasgos diferentes. puede determinar si los caracteres de una cadena o un vector de caracteres son letras, caracteres alfanuméricos, dígitos decimales o hexadecimales o caracteres de puntuación.isstrpropisstrprop

Determine qué caracteres de una cadena son signos de puntuación. Devuelve un vector lógico cuya longitud es igual al número de caracteres en.isstrpropstr

str = "A horse! A horse! My kingdom for a horse!"
str =  "A horse! A horse! My kingdom for a horse!" 
isstrprop(str,"punct")
ans = 1x41 logical array

   0   0   0   0   0   0   0   1   0   0   0   0   0   0   0   0   1   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   1

Determine qué caracteres del vector de caracteres son letras.chr

isstrprop(chr,"alpha")
ans = 1x30 logical array

   1   1   1   1   0   1   1   1   1   1   0   1   1   1   0   1   1   1   1   1   0   1   1   1   1   1   0   1   1   1

Consulte también

| | | | | | | | | |

Temas relacionados