Forum Webscript.Ru

Программирование => Perl => Тема начата: _apple_ от 30 Марта 2005, 02:30:16

Название: количество вхождений
Отправлено: _apple_ от 30 Марта 2005, 02:30:16
Парни, что то я туплю.
есть строка, нужно узнать количество вхождений определенного набора символов в эту строку.
например есть строка
$a = "дрл1лор3лор53лориь353";
нужно узнать сколько в ней букв [л|р]


спасибо
Название: количество вхождений
Отправлено: ondr от 30 Марта 2005, 03:43:24
perldoc perlop в части tr///
Название: количество вхождений
Отправлено: Phoinix от 30 Марта 2005, 18:51:50
ondr

Не совсем так, все-таки в части m//

my $a = "дрл1лор3лор53лориь353";
my $num = scalar($a =~m/[лр]/g);

Естественно должна быть локаль подключена
Название: количество вхождений
Отправлено: ondr от 31 Марта 2005, 07:44:44
Phoinix
тоже perldoc perlop в части tr///

ex: $matches = $a =~ tr/лр//;

ps: и никакая локаль не нужна
Название: количество вхождений
Отправлено: Phoinix от 31 Марта 2005, 13:12:44
ondr

Да, немного ошибся...

my $a = "дрл1лор3лор53лориь353";
my $match1 = $a =~tr/лр//;
my @match2 = $a =~ m/([лр])/;

print $match1,"\\n";
print scalar @match2,"\\n";