Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

regex - preg_split

0 views
Skip to first unread message

Bjarne Jensen

unread,
Jan 17, 2010, 5:03:03 PM1/17/10
to
Jeg fors�ger at udrage data fra en fil med liner af variabel l�ngde der
afsluttes med LF/CR (x0Dx0A).

Datafelterne er separeret med <tab> (x09).

Visse liner indeholder enkelte tomme datafelter som er repr�senteret ved
<space> (x20).

Dvs at et tomt datafelt altid vil f�lge efter en <tab>, alts�
<tab><space> (x09x20).

Der er altid 19 datafelter incl de tomme.


Jeg har stj�let nedenst�ende line fra
http://www.php.net/manual/en/function.preg-split.php

$lines=file($file); // $lines is an array containing entire file
// split the phrase by any number of commas or space characters,
// which include " ", \r, \t, \n and \f
$keywords = preg_split("/[\s,]+/", $lines[$i] );
print_r($keywords);


Problemet er tilsynladene, at regex'en i preg_split funktionen herover
ikke skelner mellem <tab> og <space>.
F�lgeligt indeholder/viser print_r($keywords) kun de datafelter som ikke
er tomme (<space>).

Det er selvf�lgeligt ogs� et problem, at regex ikke lige var p�
programmet da jeg gik i skole.

Mvh / Bjarne

Michael Rasmussen

unread,
Jan 17, 2010, 5:52:04 PM1/17/10
to
On Sun, 17 Jan 2010 23:03:03 +0100
Bjarne Jensen <bjarne....@gmail.com> wrote:

>
> Problemet er tilsynladene, at regex'en i preg_split funktionen herover
> ikke skelner mellem <tab> og <space>.

> Følgeligt indeholder/viser print_r($keywords) kun de datafelter som ikke


> er tomme (<space>).
>

Prøv denne: /[\t\s|\s+]/

Husk også at nogen editorer erstatter <tab> med et forud defineret
antal <space>

--
Hilsen/Regards
Michael Rasmussen
http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xE3E80917
A computer is like air conditioning: it becomes useless when you open
windows.

Bjarne Jensen

unread,
Jan 17, 2010, 6:53:12 PM1/17/10
to
S�dan - det s� straks bedre ud!
Dog bliver der nu indskudt et par ekstra elementer som jeg ikke lige ved
hvor kommer fra men det er absolut brugbart.
Mange tak / Bjarne

Michael Rasmussen wrote:
> On Sun, 17 Jan 2010 23:03:03 +0100
> Bjarne Jensen <bjarne....@gmail.com> wrote:
>
>> Problemet er tilsynladene, at regex'en i preg_split funktionen herover
>> ikke skelner mellem <tab> og <space>.

>> F�lgeligt indeholder/viser print_r($keywords) kun de datafelter som ikke


>> er tomme (<space>).
>>

> Pr�v denne: /[\t\s|\s+]/
>
> Husk ogs� at nogen editorer erstatter <tab> med et forud defineret
> antal <space>
>

0 new messages