Estoy tratando de dividir una oración/frase en palabras usando Regex.Cómo divido una frase en palabras usando Regex en C#
var phrase = "This isn't a test.";
var words = Regex.Split(phrase, @"\W+").ToList();
palabras contiene "Este", "ISN", "t", "a", "prueba"
Obviamente es recoger el apóstrofe y la división en eso. ¿Puedo cambiar este comportamiento? También debe ser multilingüe, compatible con una variedad de idiomas (español, francés, ruso, coreano, etc.).
Necesito pasar las palabras a un corrector ortográfico. Específicamente Nhunspell.
return (from word in words let correct = _engine[langId].Spell(word) where !correct select word).ToList();
división probar en espacios en lugar? ¿Tiene una buena muestra de casos de uso para demostrar qué debe manejar esta Regex? – mellamokb
Estoy pasando las palabras a un corrector ortográfico, así que necesito perder la puntuación. – Dean
Dado que desea dividir para varios idiomas diferentes, deberá usar un tokenizador que comprenda dichos idiomas. En su ejemplo, no es claramente una palabra, pero en otro idioma, "normalmente no forma parte de la palabra". La mayoría de las librerías de ortografía vienen con un Tokenizer o Analizador que puede hacer este trabajo por usted. – jessehouwing