Полное, полное решение для этого было бы сложной задачей для любой среды, поддерживаемой регулярными выражениями, тем более Word/Writer. См. Этот пост, чтобы узнать, почему регулярные выражения не являются панацеей от всех возникающих проблем с сопоставлением текста / электронной почты. Этот отказ от ответственности, давайте посмотрим, достижимо ли практическое решение ...
Для меня практическое решение, вероятно, будет включать использование регулярных выражений в какой-то момент процесса, но не без предварительного беспокойства по поводу наличия таких возможностей в данных: bob@company.organica@yahoo.com
... Если бы электронные письма действительно распределялись случайным образом в текстовом файле, нужно было бы учесть этот случай - возможность найти 2 электронных письма рядом друг с другом, без явного разделителя. Это bob@company
и organica@yahoo.com
или company.organica@yahoo.com
с первоначальным текстом bob@
просто бред? Я предполагаю, что подобные убедительные примеры могут быть найдены.
Разумный первый удар по проблеме может быть где-то по этим направлениям:
- найди регулярное выражение для электронной почты, с которым я могу жить (нет такой вещи, как идеальный!)
- найдите все электронные письма в текстовом файле, используя это регулярное выражение, и поместите их в новые строки, добавив в начало какой-то текст маркера, например, «w00t»
- упорядочить файл (используя команду:order), отделяя все строки 'w00t', те, которые содержат электронные письма, которые мы нашли, от остальной части бесподобного барахла
- Пройдите по несоответствующим линиям одну за другой, чтобы убедиться, что вы не пропустили реальные данные. Если вы обнаружите, что это так, вернитесь и измените регулярное выражение в # 1 или вручную извлеките эти письма, прежде чем переходить к шагу # 2. В противном случае существует опасность того, что вы разбиваете электронное письмо (не соответствующее регулярному выражению) на части, сохраняя одну часть и выбрасывая другую.