Как вы токенизируете / токенизируете / разбиваете строку с разделителями в Perl?
Вопрос
Как разделить строку, например, & Quot; A: B: C: & Д Quot; в токены для разбора в Perl?
(например, используя split?)
Прежде всего, ищите ясный, простой ответ (но добавьте интересные кусочки информации позже).
Решение
Да, split - это то, что вам нужно.
@tokens = split(/:/, "a:b:c:d");
foreach my $token (@tokens) {
....
}
Другие советы
Вы можете использовать сплит. Вы также можете использовать его с регулярным выражением.
my @tokens = split(/:/,$string);
Для более сложного анализа я рекомендую Parse :: RecDescent
Также взгляните на документацию, которая поставляется с perl, введя в командной строке:
perldoc -f split
Для поиска часто задаваемых вопросов используйте
perldoc -q split
если у вас есть:
$a = "a:b:c:d";
@b = split /:/, $a;
тогда вы получите:
@b = ("a", "b", "c", "d")
В общем, вот как работает сплит:
split /PATTERN/,EXPR
Где PATTERN
может быть в значительной степени регулярным выражением. Вы не ограничены простыми токенами вроде ':
'