|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Artem Chuprina 2:5020/400 11 Mar 2007 19:31:58 To : Vladimir Lomov Subject : Re: Поиск и замена с русскими буквами -------------------------------------------------------------------------------- Vladimir Lomov -> Eugene Grosbein @ Sun, 11 Mar 2007 12:38:15 +0000 (UTC): VL>>> Может кто может помочь, а то уже своих идей не VL>>> хватает. VL>>> Проблема: нужно в тексте в котором есть как VL>>> латинские, так и русские буквы заменить лишние VL>>> пробелы между словами на один пробел. Пример: VL>>> This sentence is a sample. You may create VL> your VL>>> own samples . VL>>> Why I need these ugly texts? To compact some VL>>> e-books taken from lib.ru. VL>>> Это предложение просто пример. Вы можете VL>>> придумать свои собственные примеры . Зачем нунеж VL>>> такие уродливые предложения ? Чтобы сжать VL>>> некоторые книжки, взятые с lib.ru EG>> [skip] EG>> Жуть :-) EG>> Делай так: EG>> perl -p -i.bak -e 'use locale; s/\b\s+\b/ /g' VL> file1 file2 file3 ... EG>> И почитай man perlrun, там это разбирается с VL> примерами. VL> Спасибо за ответ, особенно за ком. строку и \b. Hо VL> такой вариант с треском провалиться на запятой, VL> точке с запятой и пр. пунктупции, например в стиле VL> LaTeX'а: "< или <<. VL> Hемного поправил свой предыдущий вариант: VL> s/([-,;:\.!\?"'>]|\w|[а-яА-Я])[[:space:]]{2,}([-,;:\.!\?"'<]|\w|[а-яА-Я])/$ VL> 1 $2/go; стало лучше, но если попробовать пример И еже си на небеси, да и VL> прибудеть тебе, счастия ... то он провалиться, не сможет сжать пробелы VL> после 'и', да и вообще после любой одно буквенной комбинации (русской VL> конечно). Я, если честно, не понял, чем не годится вариант s/ +/ /g -- Artem Chuprina RFC2822: <ran{}ran.pp.ru> Jabber: ran@jabber.ran.pp.ru Рюмку взял - паяльник положил --- ifmail v.2.15dev5.3 * Origin: Leninsky 45 home network (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/25606ebd80058.html, оценка из 5, голосов 10
|