Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Rozdzielenie zmiennej
fiskusmati
post 4.05.2016, 09:54:36
Post #1





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 3.03.2016

Ostrzeżenie: (0%)
-----


Witam, mamy zmienne które wyglądają np tak:

1) KAB2RU073992
2) HEP32001006
3) GT811T1301200411
4) 61P220H111110084
5) 85290


Zależy mi, aby rozdzielić zmienną na dwie części - początek zmiennej, oraz numer który jest po ostatniej literce czyli:

1) KAB2RU | 073992
2) HEP | 32001006
3) GT811T | 1301200411
4) 61P220H | 111110084
5) | 85290


Mam nadzieje, że ktoś będzie w stanie mi coś podpowiedzieć.

Pozdrawiam.

Ten post edytował fiskusmati 4.05.2016, 09:56:48
Go to the top of the page
+Quote Post
kapslokk
post 4.05.2016, 10:03:52
Post #2





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


  1. echo preg_replace('/^(.*?)([^A-Za-z]+)$/', '$1|$2', 'GT811T1301200411');


Ten post edytował kapslokk 4.05.2016, 10:04:14
Go to the top of the page
+Quote Post
fiskusmati
post 4.05.2016, 13:53:28
Post #3





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 3.03.2016

Ostrzeżenie: (0%)
-----


Bardzo mi pomogłeś, dziękuję.

A potrafił by ktoś pomóc z rozdzieleniem zer poprzedzajacych od liczby?

czyli mając 0000123 chcę pozyskać 0000 oraz 123.


Pozdrawiam
Go to the top of the page
+Quote Post
nospor
post 4.05.2016, 13:56:17
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Analogicznie do poprzedniego

  1. echo preg_replace('/^(0+)([1-9]+)$/', '$1|$2', '000123');



--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
kapslokk
post 4.05.2016, 14:09:01
Post #5





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


  1. echo preg_replace('/^(0+)([0-9]+)$/', '$1|$2', '000123');


Wersja z 1-9 nie zadziała np dla: 00001023
Go to the top of the page
+Quote Post
nospor
post 4.05.2016, 14:16:45
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Faktycznie
  1. echo preg_replace('/^(0+)([1-9][0-9]+)$/', '$1|$2', '000123');



--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
fiskusmati
post 4.05.2016, 14:45:23
Post #7





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 3.03.2016

Ostrzeżenie: (0%)
-----


Zamiast czekać na odpowiedź, pouczyłem się troszkę wyrażeń regularnych i doszedłem sam do tego. Dzięki wam nauczyłem się czegoś nowego, dzięki!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 13.06.2025 - 09:00