10 votos

Diferencia entre "coincide" y "contiene" en los criterios de búsqueda

En mis criterios de búsqueda del Finder, cuando estoy filtrando en un campo de texto tengo varias opciones. Una de ellas es "coincide", y la otra es "contiene", pero aparte de establecer que efectivamente son diferentes no tengo claro qué significa exactamente cualquiera de ellas (contiene go coincide con un nombre de archivo libpng.o por ejemplo, lo que también me parece confuso).

enter image description here

9voto

Jose Chavez Puntos 645

He descubierto que una forma fácil de descifrar exactamente lo que Finder quiere decir con una consulta es guardarla como una búsqueda guardada y luego inspeccionar ese archivo con un editor de texto. Así que en tu caso abre el Finder y haz una búsqueda de matches 'go' y guardar eso como una búsqueda guardada, y hacer lo mismo para contains 'go' .

Si lo haces, verás que matches 'go' produce este patrón de búsqueda:

(kMDItemDisplayName = "go*"cdw)

mientras que contains 'go' produce este patrón de búsqueda:

(kMDItemDisplayName = "*go*"cd)

kMDItemDisplayName significa que está tratando de hacer coincidir algo con el nombre mostrado del archivo.

Cada una de las letras de cd y cdw son los llamados modificadores de comparación de valores:

  • La carta c significa que la comparación se realiza sin distinguir entre mayúsculas y minúsculas (es decir A y a se consideran iguales).
  • La carta d significa que la comparación es insensible a los signos diacríticos (por ejemplo è y e se consideran iguales).
  • La carta w significa que la comparación se basa en la palabra, y que la comparación detecta las transiciones de minúsculas a mayúsculas.

Puede encontrar la documentación de los modificadores de comparación de valores en Documentación de Apple .

Así que en su escenario matches 'go' significa que buscará los archivos cuyo nombre tenga una palabra que empiece por la cadena go (es decir, puede haber cualquier sufijo de la cadena en la palabra), sin tener en cuenta las mayúsculas y minúsculas ni las distintas marcas.

De la misma manera, contains 'go' significa que buscará los archivos cuyo nombre tenga la cadena go en algún lugar dentro de ella (es decir, podría haber cualquier prefijo o sufijo en la cadena) - ignorando mayúsculas y minúsculas y varias marcas.

-2voto

marvin137 Puntos 341

Coincide es el exact significado, por lo que si sólo un char (incluso los ocultos) es invisible, no coincidirá.

contiene es más flexible y match también substratos

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X