Используйте регулярные выражения в PHP. Следующий шаблон регулярного выражения будет соответствовать всем предоставленным вами случаям - используйте его с preg_match_all (передача в массив и PREG_SET_ORDER
), и переданный вами массив будет содержать массив для каждой строки ваших данных , и массив каждой строки будет содержать 5 элементов.
(C[\d]+)(P[\d]+)?(YYY)? = (.+)
Первый элемент массива будет содержать всю протестированную строку.
Второй элемент массива будет содержать число «C».
Третий элемент массива будет содержать число "P", если оно присутствует, иначе оно будет пустым.
Четвертый элемент массива будет содержать «YYY», если он присутствует, в противном случае он будет пустым.
Пятый элемент массива будет содержать значение.
В ответ на более ранний комментарий следующее регулярное выражение является модифицированной версией вышеупомянутого, но не будет включать C
и P
в соответствующие значения:
C([\d]+)(?:P([\d]+))?(YYY)? = (.+)