Как вы токенизируете / токенизируете / разбиваете строку с разделителями в Perl?

StackOverflow https://stackoverflow.com/questions/659705

  •  20-08-2019
  •  | 
  •  

Вопрос

Как разделить строку, например, & 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 может быть в значительной степени регулярным выражением. Вы не ограничены простыми токенами вроде ':'

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top