| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > Аналог php'ных stristr и strtr |
| Автор: psylostlife 30.5.2010, 15:05 | ||
| Здравствуйте. Только пересел на линух и начал разбираться в перле. У меня имеется такая конструкция в пхп скрипте:
где: $mats - массив, содержащий подстроки $ts - строка, в которой ищется вхождение этих подстрок $iscl - массив исключений вида "подстрока" - "<исключение>" (просто перед поиском сначала вырежем все исключения, на которые может срабатывать) Ну и последний stristr ищет циклично вхождение. Находит - выводит на экран(или в файл, это не важно), останавливает цикл и идёт следующий виток общего цикла(тут его не привел, написал сам, там считывание из файла построчно). Помогите пожалуйста, как это можно переписать на перле? Копался в гугле, искал аналоги, но не вышло :( |
| Автор: arto 30.5.2010, 17:56 |
| что такое "исключение"? |
| Автор: psylostlife 31.5.2010, 08:25 |
| Это список подстрок, заменяемых на текст "<исключение>" - для того, чтобы исключить срабатывание на определенные слова. Поиск идет по частям слов. За примером далеко ходить не надо. Должно, например, срабатывать на тр*х - поэтому перед поиском заменяем слова застрахуй(точнее даже застрах - предугадать -уй, -овать, -овал и прочее). |
| Автор: sir_nuf_nuf 31.5.2010, 11:26 | ||
Это дословный перевод вашего алгоритма. Но перлист бы написал нечто другое |
| Автор: arto 31.5.2010, 13:54 |
| антимат? ну-ну. foreach my $i (@iskl) { $ts =~ s#$i->[0]#$i->[1]#g } foreach my $m (@mats) { $ts =~ m#$m# && print $&; } подойдет? пс. можно где увидеть результат, проверить? |
| Автор: ming 1.6.2010, 20:35 |
| поиск подстроки в строке - http://perldoc.perl.org/functions/index.html поиск подстроки в строке без учёта регистра - комбинация index и http://perldoc.perl.org/functions/lc.html |