2016-08-23 6 views
-3

У меня есть поле в таблице, значение такое (24114A23) Я хочу прочитать это отдельно (23 A 114 24) и показать, например, окно dropdwon .Отдельные значения поля

23 на dropdwon1 А на dropdwon2 114 на dropdown3 23 на dropdwon4

+0

Как вы узнаете, где разделить строку? – jeroen

+1

Я бы сказал, что если ваша таблица такая, проблема в таблице, а не ее разделение. В противном случае, если он всегда имеет фиксированный размер, вы можете использовать подстроку, чтобы начать ее разделение. – Janno

+1

Пожалуйста, сообщите больше информации о вашем вопросе. Вы не даете понять, всегда ли формат строки> 2 цифры, 3 цифры, 1 буква, 2 dgits <, и вы не пытаетесь сделать попытку в отношении того, что вы пробовали. –

ответ

3

Если значения имеют тот же формат, все время, вы можете использовать регулярные выражения thatfor: /([0-9]{2})([0-9]{3})([a-zA-Z])([0-9]{2})/

Живой пример: https://regex101.com/r/wA4lT6/1

+0

без дополнительной информации от пользователя user1875505, это лучшее решение. Также можно предложить подстроку. –

+1

Да, подстрока тоже работала бы, но в итоге больше кода. – lippoliv

+1

согласился. за ограниченный объем информации, предоставленной человеком, задающим вопрос, дополнительные усилия на самом деле не стоят того. :) –

2

Это не совсем ответ, но добавление к @ lippoliv отвечают, только ради completenes, и было бы слишком долго и некрасиво, как комментарий.

Если вы звоните preg_match как

$re = "/([0-9]{2})([0-9]{3})([a-zA-Z])([0-9]{2})/"; 
preg_match($re, "24114A23", $matches); 

вы можете получить доступ к различной регулярным выражениям группы, используя индекс группы в качестве индекса для выходного массива при условии (см preg_match documentation), так что если вы хотите, чтобы получить содержание матча 2-й группы, например, в данном случае будет «114»

enter image description here

получить его, написав $matches[2].

Смежные вопросы