Как разделить строку с помощью preg_split [дубликат]Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как разделить строку с помощью preg_split [дубликат]

Сообщение Anonymous »

Я хочу разделить простую строку, например «A1B22C523E10D14G9», на массив с разделенными буквами и цифрами,
например. 'A', '1', 'B', '22', 'C', '523', 'E', '10', 'D', '14', 'G', '9'
Ввод всегда будет парным, и каждая пара всегда будет представлять собой одну заглавную букву, за которой следуют 1–4 цифры.
Насколько я понимаю, это должно работать, но оно просто возвращает цифры.

Код: Выделить всё

$elements = preg_split('/[A-Z]/', $cols, 0, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE);
https://onlinephp.io/preg-split?pattern ... 14G9&limit =52&flags%5B0%5D=PREG_SPLIT_NO_EMPTY&flags%5B1%5D=PREG_SPLIT_DELIM_CAPTURE&v=8.2.29
Этот вопрос отличается от другого, поскольку он не возвращает буквы и цифры как отдельные элементы, как я указал в своем вопросе.
Поскольку мой формат ввода очень прост, я ищу самое простое решение, которое, я думаю, должен делать preg_split в соответствии с руководством.
Вывод, который я получаю, такой же, как и на onlinephp.io, поэтому либо флаги не работают, либо я не понимаю, что они означают.
/>Иными словами, почему следующие строки дают один и тот же ответ:

Код: Выделить всё

print_r(preg_split('/[A-Z]/','A1B22C523E10D14G9', -1, PREG_SPLIT_NO_EMPTY));

Код: Выделить всё

print_r(preg_split('/[A-Z]/','A1B22C523E10D14G9', -1, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE));
Оба дают:

Код: Выделить всё

Array ( [0] => 1 [1] => 22 [2] => 523 [3] => 10 [4] => 14 [5] => 9 )
Я использую PHP версии 8.4.11.
PREG_SPLIT_NO_EMPTY и PREG_SPLIT_DELIM_CAPTURE установлены на 1 и 2 соответственно

Подробнее здесь: https://stackoverflow.com/questions/798 ... preg-split
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»