Как из текстового документа извлечь только русские слова? в текстовике записано вот так вася vasay петя маша паша masha света peta нужно отделить только русские слова
bool is_russian_ansi(char *str) { bool rc = true; strupr(str); while(*str) { if(*str < 'А' || *str > 'Я') { rc = false; break; } str++; } return rc; } логика думаю ясна.
Code: cat list.txt | perl -ne 'print if /[А-я]+/' только локаль в перле прописать русскую (лень искать)
командная строка bash. когда нужно что-то распарсить, заливаю файл на любой *nix-сервак и препарирую его инструментами bash/perl/sed/awk. получается быстро и эффективно. В более запущенных случаях (когда файл большой), использую импорт в sqlite и манипулирую на SQL-языке чего и всем рекомендую.
1-е действие: notepad++ -> Ctrl+h: Найти: [A-Za-z].* Заменить на: (пробел) .... Режим поиска - Регулярное выражение ---------------------------------------------------- 2-е действие: notepad++ -> Ctrl+h: Найти: (пробел)\r\n Заменить на: (нулевая строка) .... Режим поиска - Расширенный
В RegExFilter от allknower есть готовый фильтр для убийства строк, содержащих что-либо, кроме русских слов.