Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
|
[Perl] игнор регистра символов 06.09.02 17:35 Число просмотров: 1153
Автор: iddqd <Юрий> Статус: Member
|
> Привет. > > Подскажите. Есть строка "text_string" и строка > "tExT_StRiNg". Как заствить скрипт думать, что эти строки > одинаковы, т.е. при if ("text_string" eq "TeXt_StRiNg") > {print "OK!"} выводить на экран ОК. Надеюсь, Вы меня > поняли. > > И еще вопрос. Строка "тест", посылаемая в запросу GET > преобразуется в "%F2%E5%F1%F2. И поисковый скрипт, естессно > ниче не находит. > > Может найдется, кто поможет мне? Сочтемся потом.
if($var_contains_text=~m~text_string~is){ trali-vali }
Второй вопрос не понял. Что нужно-то?
|
<programming>
|
[Perl] игнор регистра символов 05.09.02 17:40
Автор: Тига Статус: Незарегистрированный пользователь
|
Привет.
Подскажите. Есть строка "text_string" и строка "tExT_StRiNg". Как заствить скрипт думать, что эти строки одинаковы, т.е. при if ("text_string" eq "TeXt_StRiNg") {print "OK!"} выводить на экран ОК. Надеюсь, Вы меня поняли.
И еще вопрос. Строка "тест", посылаемая в запросу GET преобразуется в "%F2%E5%F1%F2. И поисковый скрипт, естессно ниче не находит.
Может найдется, кто поможет мне? Сочтемся потом.
http://s122.h1.ru/cgi-bin/is/nav.pl
|
|
[Perl] игнор регистра символов 06.09.02 17:35
Автор: iddqd <Юрий> Статус: Member
|
> Привет. > > Подскажите. Есть строка "text_string" и строка > "tExT_StRiNg". Как заствить скрипт думать, что эти строки > одинаковы, т.е. при if ("text_string" eq "TeXt_StRiNg") > {print "OK!"} выводить на экран ОК. Надеюсь, Вы меня > поняли. > > И еще вопрос. Строка "тест", посылаемая в запросу GET > преобразуется в "%F2%E5%F1%F2. И поисковый скрипт, естессно > ниче не находит. > > Может найдется, кто поможет мне? Сочтемся потом.
if($var_contains_text=~m~text_string~is){ trali-vali }
Второй вопрос не понял. Что нужно-то?
|
| |
[Perl] игнор регистра символов 06.09.02 20:24
Автор: Тига Статус: Незарегистрированный пользователь
|
> > Привет. > > > > Подскажите. Есть строка "text_string" и строка > > "tExT_StRiNg". Как заствить скрипт думать, что эти > строки > > одинаковы, т.е. при if ("text_string" eq > "TeXt_StRiNg") > > {print "OK!"} выводить на экран ОК. Надеюсь, Вы меня > > поняли. > > > > И еще вопрос. Строка "тест", посылаемая в запросу GET > > преобразуется в "%F2%E5%F1%F2. И поисковый скрипт, > естессно > > ниче не находит. > > > > Может найдется, кто поможет мне? Сочтемся потом. > > if($var_contains_text=~m~text_string~is){ trali-vali } > > Второй вопрос не понял. Что нужно-то?
спасибо за ответ. щас попробую. а что касается второго, можешь открыть http://s122.h1.ru/cgi-bin/is/nav.pl
Там есть форма для поиска. ПОпробуй ввести че-нить кириллицей и отсубмить форму. Все поймешь сразу :)) Надеюсь, поможешь
С уважением, тига.
|
| | |
[Perl] игнор регистра символов 09.09.02 10:11
Автор: iddqd <Юрий> Статус: Member
|
> > > Привет. > > > > > > Подскажите. Есть строка "text_string" и строка > > > "tExT_StRiNg". Как заствить скрипт думать, что > эти > > строки > > > одинаковы, т.е. при if ("text_string" eq > > "TeXt_StRiNg") > > > {print "OK!"} выводить на экран ОК. Надеюсь, Вы > меня > > > поняли. > > > > > > И еще вопрос. Строка "тест", посылаемая в запросу > GET > > > преобразуется в "%F2%E5%F1%F2. И поисковый > скрипт, > > естессно > > > ниче не находит. > > > > > > Может найдется, кто поможет мне? Сочтемся потом. > > > > if($var_contains_text=~m~text_string~is){ trali-vali } > > > > Второй вопрос не понял. Что нужно-то? > > спасибо за ответ. щас попробую. а что касается второго, > можешь открыть http://s122.h1.ru/cgi-bin/is/nav.pl > Там есть форма для поиска. ПОпробуй ввести че-нить > кириллицей и отсубмить форму. Все поймешь сразу :)) > Надеюсь, поможешь > > С уважением, тига.
Как только принимаешь эту заэскейпленую строку в скрипте, до ее обработку (поиск и т.п.), делаешь ей
$string=~s~%(..)~pack('c',hex($1))~ge;
|
| | | |
[Perl] игнор регистра символов 09.09.02 20:53
Автор: Тига Статус: Незарегистрированный пользователь
|
> > > > Привет. > > > > > > > > Подскажите. Есть строка "text_string" и > строка > > > > "tExT_StRiNg". Как заствить скрипт думать, > что > > эти > > > строки > > > > одинаковы, т.е. при if ("text_string" eq > > > "TeXt_StRiNg") > > > > {print "OK!"} выводить на экран ОК. Надеюсь, > Вы > > меня > > > > поняли. > > > > > > > > И еще вопрос. Строка "тест", посылаемая в > запросу > > GET > > > > преобразуется в "%F2%E5%F1%F2. И поисковый > > скрипт, > > > естессно > > > > ниче не находит. > > > > > > > > Может найдется, кто поможет мне? Сочтемся > потом. > > > > > > if($var_contains_text=~m~text_string~is){ > trali-vali } > > > > > > Второй вопрос не понял. Что нужно-то? > > > > спасибо за ответ. щас попробую. а что касается > второго, > > можешь открыть http://s122.h1.ru/cgi-bin/is/nav.pl > > Там есть форма для поиска. ПОпробуй ввести че-нить > > кириллицей и отсубмить форму. Все поймешь сразу :)) > > Надеюсь, поможешь > > > > С уважением, тига. > > > Как только принимаешь эту заэскейпленую строку в скрипте, > до ее обработку (поиск и т.п.), делаешь ей > > $string=~s~%(..)~pack('c',hex($1))~ge; Блин, никакого резалта. Все тоже самое. . . :-(
|
| | | | |
[Perl] игнор регистра символов 10.09.02 09:22
Автор: iddqd <Юрий> Статус: Member
|
> > $string=~s~%(..)~pack('c',hex($1))~ge; > Блин, никакого резалта. Все тоже самое. . . :-( Видимо, ты не там ее обрабатываешь. Она работает, проверь:
perl -e 'my $x="%F2%E5%F1%F2"; $x=~s~%(..)~pack(c,hex($1))~ge; print $x."\n"';
(результат в 1251).
|
| | | | | |
[Perl] игнор регистра символов 10.09.02 21:21
Автор: Тига Статус: Незарегистрированный пользователь
|
> > > $string=~s~%(..)~pack('c',hex($1))~ge; > > Блин, никакого резалта. Все тоже самое. . . :-( > Видимо, ты не там ее обрабатываешь. Она работает, проверь: > perl -e 'my $x="%F2%E5%F1%F2"; > $x=~s~%(..)~pack(c,hex($1))~ge; print $x."\n"'; > (результат в 1251).
да, я оказытся $STRING обрабатывал, а выводил $value. Спасибо.
|
| | | |
[Perl] игнор регистра символов 09.09.02 14:45
Автор: Тига Статус: Незарегистрированный пользователь
|
> > > > Привет. > > > > > > > > Подскажите. Есть строка "text_string" и > строка > > > > "tExT_StRiNg". Как заствить скрипт думать, > что > > эти > > > строки > > > > одинаковы, т.е. при if ("text_string" eq > > > "TeXt_StRiNg") > > > > {print "OK!"} выводить на экран ОК. Надеюсь, > Вы > > меня > > > > поняли. > > > > > > > > И еще вопрос. Строка "тест", посылаемая в > запросу > > GET > > > > преобразуется в "%F2%E5%F1%F2. И поисковый > > скрипт, > > > естессно > > > > ниче не находит. > > > > > > > > Может найдется, кто поможет мне? Сочтемся > потом. > > > > > > if($var_contains_text=~m~text_string~is){ > trali-vali } > > > > > > Второй вопрос не понял. Что нужно-то? > > > > спасибо за ответ. щас попробую. а что касается > второго, > > можешь открыть http://s122.h1.ru/cgi-bin/is/nav.pl > > Там есть форма для поиска. ПОпробуй ввести че-нить > > кириллицей и отсубмить форму. Все поймешь сразу :)) > > Надеюсь, поможешь > > > > С уважением, тига. > > > Как только принимаешь эту заэскейпленую строку в скрипте, > до ее обработку (поиск и т.п.), делаешь ей > > $string=~s~%(..)~pack('c',hex($1))~ge;
Да, спасибо. Но ответ на первый вопрос не катит все таки.
|
| | | | |
Относительно первого вопроса 09.09.02 17:00
Автор: iddqd <Юрий> Статус: Member
|
> Да, спасибо. Но ответ на первый вопрос не катит все таки. При указании модификатора "i" (после последней кавычки '"~is'), строка сравнивается с шаблоном (в кавычках) без учета регистра.
if($var_contains_text=~m"text_string"is){ trali-vali }
|
| | | | | |
Понял 09.09.02 20:44
Автор: Тига Статус: Незарегистрированный пользователь
|
> > Да, спасибо. Но ответ на первый вопрос не катит все > таки. > При указании модификатора "i" (после последней кавычки > '"~is'), строка сравнивается с шаблоном (в кавычках) без > учета регистра. > > if($var_contains_text=~m"text_string"is){ trali-vali }
понял...
|
|
[Perl] игнор регистра символов 05.09.02 19:55
Автор: HandleX <Александр М.> Статус: The Elderman
|
Я на перле не пишу, но идея должна подойти для всех языков программирования.
Практически в любом языке есть функция типа CharLower - переводит строку в нижний регистр. В твоём примере должно быть так (пишу на Паскале):
If CharLower(TestStr) = 'test string' Then .... дальше что тебе надо.
И пусть теперь TestStr содержит хоть "TeSt STRING", хоть "tEsT string" функция переводит тестовую строку в нижний регистр, и далее сравниваешь её с эталоном в нижнем регистре!.
Надеюсь, идея понятна? Кстати, можешь переводить и в верхний регистр, тогда эталон тоже пишешь в верхнем ;-))))))
|
| |
[Perl] игнор регистра символов 06.09.02 15:58
Автор: Тига Статус: Незарегистрированный пользователь
|
> Я на перле не пишу, но идея должна подойти для > всех языков программирования. > Практически в любом языке есть функция типа CharLower - > переводит строку в нижний регистр. В твоём примере должно > быть так (пишу на Паскале): > > If CharLower(TestStr) = 'test string' Then .... дальше что > тебе надо. > > И пусть теперь TestStr содержит хоть "TeSt STRING", хоть > "tEsT string" функция переводит тестовую строку в нижний > регистр, и далее сравниваешь её с эталоном в > нижнем регистре!. > > Надеюсь, идея понятна? Кстати, можешь переводить и в > верхний регистр, тогда эталон тоже пишешь в верхнем > ;-))))))
нда..... вообще-то на паскале я бы и сам сог : ( меня как раз и интересует какая функция и как её юзать. везде искал.... почти,
|
|
|