![]() |
Behöver parsa en textfil med ett stort antal block enligt exemplet nedan och få ut sträng1 ... sträng7 .
siffraX är bara en godtyckligt nummer som ökar för varje block. ord1 - ord7 är kända. Använder preg_match_all, men får inte rätt på mitt "pattern" för detta. Någon som är bra på sådant och kan ge ett tips ... på vilken regular expression som jag skall använda? ord1[siffraX] = "sträng1" ord2[siffraX] = "sträng2" ord3[siffraX] = "sträng3" ord4[siffraX] = "sträng4" ord5[siffraX] = "sträng5" ord6[siffraX] = "sträng6" ord7[siffraX] = "sträng7" |
Kod:
.*\"(.*)\" |
Har testat med denna typ av enkla förslag men det har bara inte fungerat. Sedan är jag ganska kass på mer utvecklade exempel ... därav är jag lite fast nu.
Förutom dessa block innehåller filen en del skräp också. |
Citat:
Du kan testa dina regexp här: http://www.cuneytyilmaz.com/prog/jrx/ |
Tack för länken¨och snabba hjälpen.
Nu verkar det som jag kommit på rätt väg. Nu får jag fram i alla fall något. Hatar regexp! :( |
Om du nu vet att filen ser ut så där hela tiden så kan ju en snabbare och enklare lösning vara att kombinera strpos för första citationstecknet med substr. Gör bara så om du är 100 på att formatet på filen inte kan ändras i framtiden, eller om det är en engångsgrej.
|
Om du förklarar lite mer exakt vad blocken kommer innehålla så kanske man kan komma fram till nått bättre ;)
|
Jag har fått rätt på det nu efter någon timme, så jag tackar för hjälpen!
|
Citat:
|
Och jag kan rekommendera RegExpBuddy som jag nyligen tjackade (jahujeda mig).
|
Alla tider är GMT +2. Klockan är nu 23:05. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson