Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Rozdzielenie liter i cyfr z ciągu znaków
leon1313
post
Post #1





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 23.10.2007

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


Witam;
Czy ktoś z szanownych forumowiczów zna sposób(funkcję?) rozdzielającą z ciągu znaków litery i cyfry?
Np dla:

$in='aaabbb123ccc';
chcę uzyskać(najlepiej) wynik:

$out=array('aaabbb', '123' ,'ccc');

$index_cyfr=1; ( drugie pole)

Dane wejściowe będą tylko w 3 formatach (l-litery, c-cyfry):
l+c+l
l+c
c

Z góry dziekuję.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




  1. <?php
  2. $in='789aaabbb123ccc456fgfg82';
  3.  
  4. preg_match_all('/([a-zA-Z]*)([0-9]*)/', $in, $matches);
  5. print_r($matches);
  6. ?>

A teraz pomysl jak sprytnie przeksztalcic $matches w to co chcesz. Da sie zrobic, ale pomysl duzo i spokojnie.

//DOWN Racja.. Głupi jestem, nie doczytałem dobrze ze masz znaki według ustalonego schematu a ja bralem pod uwag nieskonczona kombinacje.

//EDIT Literowka w wyrazeniu (z -> Z)

Ten post edytował wookieb 1.06.2009, 21:56:43


--------------------
Go to the top of the page
+Quote Post
leon1313
post
Post #3





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 23.10.2007

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


Programuję w PERL-u, więc już zorientowałem się co i jak :-)
Dzięki za naprowadzenie, problem rozwiązało:
  1. <?php
  2. $in='aaa123bbb';
  3.  
  4. preg_match('/([a-zA-Z]*)([0-9]+)([a-zA-Z]*)/', $in, $matches);
  5. print_r($matches);
  6. print('<BR />'.$matches[2]);
  7. ?>


Ten post edytował leon1313 1.06.2009, 22:35:58
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 Aktualny czas: 20.08.2025 - 11:47