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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Artem Chuprina                       2:5020/371.32  06 Oct 2000  12:47:54
 To : crazyrol@mail.ru
 Subject : Re: Case-insensetive search
 -------------------------------------------------------------------------------- 
 
 cmr> Вот пытаюсь сделать case-insensetive поиск в win-1251-текстовом файле, и
 cmr> нифига у меня не получается:
 
 cmr> foreach (@{$keywords}) {
 cmr>   if ($line =~/$_/i) {
 cmr>      bla-bla-bla
 cmr>      last;
 cmr>   }
 cmr> }
 
 cmr> Я, конечно, выкрутился, перевел текст в нижний регистр:
 
 cmr> foreach (@{$keywords}) {
 cmr>   $line =~tr/\xC0-\xDF/\xE0-\xFF/;
 cmr>   $_ =~tr/\xC0-\xDF/\xE0-\xFF/;
 cmr>   if ($line =~/$_/i) {
 cmr>      bla-bla-bla
 cmr>      last;
 cmr>   }
 cmr> }
 
 cmr> Hо может быть есть другое решение?
 
 Использовать _соответствующую_ локаль. Или перекодировать в текущую. В
 большинстве юниксов локаль для CP1251 надо делать отдельно, если есть из чего,
 и скорее всего, явно выставлять посредством POSIX::setlocale (не забудь потом
 вернуть на место старую). Тебя интересуют категории LC_CTYPE и LC_COLLATE. В
 виндах в норме она уже есть. Hазвание тоже зависит от системы. Для винды было
 в FAQ.
 
 -- 
 Счастливо!
   Ран.
 --- ifmail v.2.14.os-p7-tma3
  * Origin: MemoNet (2:5020/371.32@fidonet)
 
 

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

 Тема:    Автор:    Дата:  
 Case-insensetive search   John Smith   22 Sep 2000 15:58:55 
 Case-insensetive search   Anton Mansurov   22 Sep 2000 19:27:29 
 Re: Case-insensetive search   Artem Chuprina   06 Oct 2000 12:47:54 
Архивное /ru.perl/17121bbef58ff.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional