Главная страница


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)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: Поиск и замена с русскими буквами   Vladimir Lomov   11 Mar 2007 16:38:15 
 Re: Поиск и замена с русскими буквами   Artem Chuprina   11 Mar 2007 19:31:58 
Архивное /ru.perl/25606ebd80058.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional