Sto cercando di analizzare le parole da una stringa e inserirle in una matrice. Ho provato la seguente cosa:Ruby: Estrarre parole da stringa
@string1 = "oriented design, decomposition, encapsulation, and testing. Uses "
puts @string1.scan(/\s([^\,\.\s]*)/)
Sembra di fare il trucco, ma è un po 'traballante (devo includere caratteri speciali, ad esempio). C'è un modo migliore per farlo in ruby?
Opzionale: Ho una descrizione del corso cs. Ho intenzione di estrarre tutte le parole da esso e metterle in un array di stringhe, rimuovere la parola più comune in inglese dall'array prodotto, e quindi usare il resto delle parole come tag che gli utenti possono usare per cercare cs corsi.
La lingua inglese è difficile da analizzare con le espressioni regolari. Hai considerato un parser del linguaggio naturale? Riconoscerà più accuratamente la differenza tra i periodi nella frase 'Mr. Smith è qui e restituisce "Mr." come una singola parola che include il punto, ma "qui" senza il punto. –
@MarkByers, ottimo punto, non l'ho fatto a questo punto. Lo esaminerò. Grazie! – sybohy