zoek de 6de komma in een string

Pagina: 1
Acties:

  • orthello
  • Registratie: Januari 2000
  • Niet online
Ik ben me aan het verdiepen in regexp maar heb nu een probleempje.

Ik kan met perl/php/whatever wel een loopje bedenken om de 6de komma te vinden, maar dat moet toch ook met één regexp regeltje kunnen?

Iemand een idee hoe ik dat aan zou kunnen pakken?

  • TrailBlazer
  • Registratie: Oktober 2000
  • Laatst online: 18:50

TrailBlazer

Karnemelk FTW

waarom zou je de 6e komma willen hebben je wil vast iets hebben wat achter de 6e komman staat geef ff je voorbeeldstring

  • MrBucket
  • Registratie: Juli 2003
  • Laatst online: 29-10-2022
Ik ben niet helemaal meer 'into' regular expressions, maar ik denk dat als je met iets als
code:
1
([^,]*,){5}
matcht, dat het eerstvolgende teken erna de 6e komma moet zijn.

[^,]* = 0 of meer tekens behalve een komma
[^,]*, = willkeurige tekens gevolgd door een komma
([^,]*,){5} = 5 maal (willekeurige tekens gevolgd door een komma)

Zoiets, in ieder geval :)

  • DataGhost
  • Registratie: Augustus 2003
  • Laatst online: 16:05

DataGhost

iPL dev

een heel klein beetje googlen of zelf creatief nadenken doet wonderen... k lijk wel gek dat ik voor zo'n simpel probleem ga zoeken voor iemand die totaal geen inzet toont... wat heb je zelf al geprobeerd te coden? kan je logisch nadenken om tot een eventuele oplossing te komen? wat heb je al gezocht?
Virtual Hunter root(at)autocrash(dot)ru
23-Dec-2005 04:44
If you want to find positions of all needle's in haystack,
you can use this one:

while (($pos=strpos($haystack,$needle,$pos+1))!==false) $pos_array[$i++]=$pos;

But mind, that it will find from second char. You must use $pos=-1; before you want search from first char.

{
$haystack="one two three one two three one two three one two three one";
$needle="one";

$pos=-1;
while (($pos=strpos($haystack,$needle,$pos+1))!==false) $pos_array[$i++]=$pos;
}

RESULT:

$pos_array[0] = 0
$pos_array[1] = 14
$pos_array[2] = 28
$pos_array[3] = 42
$pos_array[4] = 56