Hmm.... Hej Tja! Jag är inte så hemma på regexps, så jag skulle lösa det på vanligt sätt, så här: Ok, tackar så mycket. ".*"|[^,] Hej igen Det fungerade inte med ditt förslag, Ivar. > Men som sagt, det är ett reguljärt uttryck jag är ute efter. Hmm mitt uttryck fungerade med denna text(innehåller en tom kolumn): Hmm, testade inte tillräckligt... CO ditt uttryck matchar inte en tom kolumn utan citattecken Tackar!!!! Ivar, Ditt svar fungerar också, men kommatecknen blir kvar i kolumnerna.RegExp
Har någon lösningen på denna fråga:
Jag vill dela upp en kommaseparerad sträng, men grejen är den att komman kan dyka upp mitt i en kolumn, och detta ska bortses:
Exempel på sträng:
personnr,700101,info,"blabla,blabla!",Ålder,35
Jag vill alltså ha en Match collection med dessa värden:
personnr
700101
info
"blabla,blabla!" <-----OBSERVERA!!!
Ålder
35
/En som använer RegExp allt för sällan.Sv: RegExp
Ganska lurigt problem.
Raden "blabla,blabla!" kan väl innehålla flera ,(komma) ?
Skall situationstecknen "......" vara med ?
Jag har småtestat med Split funktionen,och har lite olika lösningar
beroende på vad du svarar på ovanstående.
mvh
SvenSv: RegExp
Jo, situationstecknen finns alltid med när komman som ska ignoreras kan dyka upp.
och ja, raden kan innehålla flera kommatecken.
Jag är ute efter lösningen med RegExp, men vill du lösa det med vanlig vb-kod så har jag inget emot det...
/JensaKSv: RegExp
Läs in tecken för tecken tills raden är slut.
Sätt variabeln inQuote till false.
Om du hittar ett citationstecken och inQuote är false, sätt inQuote till true.
Om du hittar ett citationstecken och inQuote är true, sätt inQuote till false.
Om du hittar ett kommatecken och inQuote är false, hoppa fram till nästa element i arrayen.
Annars (om det inte är ett kommatecken) skriv tecknet till aktuellt element i arrayen.Sv: RegExp
Men som sagt, det är ett reguljärt uttryck jag är ute efter.
/JensaKSv: RegExp
Jag tror det skall fungera som du vill. Observera att du får med "-tecknet om det finns med.
/IvarSv: RegExp
*garv* jag lyckades lura dig att skriva "situationstecknen"
citattecken heter det ju, kom jag på när jag läste inläggen en andra gång.
RegExp är lite för svårt för mig ,hoppas du bra svar.
ha det
SvenSv: RegExp-problemet fortsätter...
Tack ändå.
>>citattecken heter det ju,...
Aj fan, dragen i näsan..?! :)
/JensaKSv: RegExp
Synd. Det är ju lätt att lösa annars.Sv: RegExp
"hej","","ett,två"
Men inte med denna text:
"hej","ett,två"
CO, ditt uttryck fungerade inte alls...
Skumt...
/JensaKSv: RegExp
Prova följande reguljära uttryck:
[^",]+|"[^"]*"
(skrivs "[^"",]+|""[^""]*""" i VB)
/COSv: RegExp
Prova tex köra på denna sträng (observera två kommatecken nära slutet - tom kolumn):
"hej","ett,två","",hej,ett,två,,tre
/IvarSv: RegExp
Det börjar närna sig
Denna ska funka
"[^"",]+|""[^""]*""|(?=,,)"
citattecknen (eller vad de heter) blir dock kvar....
/JensaKSv: RegExp
Det är ju iofs inget större problem att ta hand om vid senare tillfälle.
Tack!
/JensaK