Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

512
Vistas
Búsqueda de palabras completas en LINQ

¿Cómo puedo buscar una palabra completa en LINQ?

Si busco la palabra "automóvil" en una lista de cadenas {"carpenter","car repair","carrying","car workshop"} etc. Y el resultado debería ser "reparación de automóviles" y "taller de automóviles" solamente . Intento el siguiente código

 List<string> _tags = (from item in string_array where item.ToLower().Contains(search_term) select item).ToList();

Pero siempre contiene palabras similares y encontré este enlace en SO Linq Regex para la búsqueda de palabras completas que no proporciona una respuesta completa usando Regx.

Entonces, cualquiera puede ayudar a escribir una respuesta en Regx o cualquier otra opción para usar con Linq.

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Prueba esto:

 var result = items.Where(i => i.Split(' ').Any(word => word.ToLower() == "car")).ToList();

Si necesita tener en cuenta las comas, puede usar esto en su lugar:

 var reg = new Regex("\\bcar\\b", RegexOptions.IgnoreCase); var items = new [] { "carpenter", "car repair", "carrying", "car workshop", "car, repair", "car. repair", "car,repair" }; var result = items.Where(word => reg.IsMatch(word)).ToList();

Da:

 car repair car workshop car, repair car. repair car,repair
over 4 years ago · Santiago Trujillo Denunciar

0

list.Where(item=>item.Split(' ').Contains("car"));
over 4 years ago · Santiago Trujillo Denunciar

0

Puedes hacer lo siguiente:

  • Divida cada elemento de la matriz en un espacio en blanco usando string.Split()
  • Busque la palabra usando Contains usando la sobrecarga de StringComaparer

me gusta:

 string[] string_array = {"carpenter", "car repair", "carrying", "car workshop"}; string word = "car"; List<string> _tags = string_array.Where(r => r.Split() .Contains(word, StringComparer.InvariantCultureIgnoreCase)) .ToList();

Para salida:

 foreach (var item in _tags) { Console.WriteLine(item); }

La salida sería:

 car repair car workshop
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda