Avatar billede jakob27 Praktikant
23. november 2010 - 09:33 Der er 3 kommentarer og
1 løsning

Burde være nem, hvis man kan

Hej jeg skal udlæse værdier af denne og tilsvarende strenge

2001 LGGT400BLACK 1477558 3

2001 denne er altid fire tal
LGGT400BLACK denne værdi er variabel både i længde og sammensætning af tal og bogstaver
1477558 er altid 7 tal
3 er altid tal fra 1-9999

Jeg skal kunne trække de fire væredier ud hver for sig, håber det kan lade sig gøre.
Avatar billede tjp Mester
23. november 2010 - 10:25 #1
/(\d{4}) ([\d\w]+) (\d{7}) (\d{1,4})/ burde gøre det. Antager at der mindst er et tegn i værdi nr 2, samt at værdierne er adskilt af præcis ét mellemrum. Værdierne kan refereres til med $1 til $4.
Avatar billede jakob27 Praktikant
23. november 2010 - 13:31 #2
Ja, den hiver værdierne ud som den skal, hvis jeg ikke vil have værdien 1477558 med ud, hvordan fortæller jeg så at (\d{1,4}) skal tage 3 tallet og ikke andet. Er det muligt ?
Avatar billede tjp Mester
23. november 2010 - 14:57 #3
Fx kan du fjerne paranteserne omkring 3. værdi:

/(\d{4}) ([\d\w]+) \d{7} (\d{1,4})/

Og nøjes med  $1 til $3.

Eller undlade at bruge  $3 i den oprindelige... :-)
Avatar billede jakob27 Praktikant
23. november 2010 - 15:20 #4
Tak, jeg slettede hele $3 i stedet for kun ()

virker perfekt
tak
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester