Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Rozdzielenie liter i cyfr z ciągu znaków
Forum PHP.pl > Forum > PHP
leon1313
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ę.
wookieb
  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)
leon1313
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. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.