• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

467
Views
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 3 years ago · Santiago Trujillo
3 answers
Answer question

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 3 years ago · Santiago Trujillo Report

0

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

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 3 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error