Har börjat studera lite RegExp. Hej! hehe, jo, tittade just på den :) Ytterligare en fråga: Hej! Ja, alltså, jag vill hantera alla kolumner. Även de som inte har värden. Hej igen! Tackar så mycket, ska kolla upp det så snart som möjligt. Funkar såklart utmärkt. Ok, kom på svaret själv: RegExp fråga
Jag vill göra ett enkelt utryck, min text ser ut så här:
ID,,Kol2,Kol3,Kol4
Jag vill få in alla kolumner i matches objektet (en kolumn saknas)
Alltså: Item(0) = "ID" Item(1) = ""
Vill inte ha med ",". De tomma kolumnerna ska också vara med
/JensaSv: RegExp fråga
Du kanske har nytta av den här tråden?
http://www.pellesoft.nu/development/forum/view.asp?msgid=12154&forumid=4
Kom tillbaka om det inte hjälper.
Lycka till och lev väl,
Tom S.Sv: RegExp fråga
Men ett liiitet problem återstår, jag vill inte få med separeraren.
Och det är ju lätt fixat om alla kolumner innehåller värden.
Men hur gör man om det inte finns värden???
Det är ju inte ett stort problem att efteråt ta bort sista tecknet, men rätt ska vara rätt... :-)
/JensaSv: RegExp fråga
Hur fungerar oRegExp.Replace ?
I Textpad kan jag tex leta upp 20011201 så här: \(^....\)\(..\)\(..\)
och använda denna Replace: \1-\2-\3
20011201 blir då alltså: 2001-12-01
Nåt sånt verkar man inte kunna göra med RegExp, eller?Sv: RegExp fråga
> Men ett liiitet problem återstår, jag vill inte få med separeraren.
Med koden på
http://www.pellesoft.nu/development/forum/view.asp?msgid=12154&forumid=4
så får du inte med separeraren.
>Men hur gör man om det inte finns värden???
Det beror på vad du vill göra? Nu så tar den tomma kolumner och gör inget särskilt med dom.
Lev väl,
Tom S.Sv: RegExp fråga
Utrycket "([^,]+)?,|," hämtar alla kolumner men med "," som sista tecken.
Det betyder att jag måste hantera alla kolumner jag läser in och ta bort ","
/JensaSv: RegExp fråga
>I Textpad kan jag tex leta upp 20011201 så här: \(^....\)\(..\)\(..\)
>och använda denna Replace: \1-\2-\3
>20011201 blir då alltså: 2001-12-01
>
>Nåt sånt verkar man inte kunna göra med RegExp, eller?
Joora, visst går det. Men ditt exempel där med datum och att använda . är inge vidare eftersom . matchar vilket tecken som helst (med några undantag). Men jaja...
Vi säger att vi vill göra ett liknande exempel fast med RegExp i VBScript, så skulle det se ut något i stil med:
Set objRE = New RegExp
objRE.Pattern = "([1-2][0-9][0-9][0-9])(1[1-2]|0?[1-9])(3[0-1]|2[0-9]|1[0-9]|0?[1-9])"
objRE.Global = True
strFormateradeDatum = objRE.Replace("Min text med massa datum i 20020626 och 19820626 osv...", "$1-$2-$3")
Observera att mitt mönster inte är perfekt, utan skrev ihop det snabbt bara för att visa hur Replace i RegExpobjektet fungerar.
Lycka till och lev väl,
Tom S.Sv: RegExp fråga
Matchningen ska det inte vara nåt problem med, eftersom det ligger mellan två kommatecken och även kommer först på raden
Ska bli intressant att se hur snabb Regexp är...
/JensaSv: RegExp fråga
För att vara jobbig, en fråga till:
Om jag vill bearbeta enbart vissa kolumner, kan jag ju börja med att Replacea bort dem Pattern = ([^,]+,)(.*$) ReplaceVar = $1
Nu återstår bara 1:a kolumnen.
Men frågan är, om jag vill ha med tex de 5 första kolumnerna, finns det inget smartare sätt än att skriva: ([^,]+,[^,]+,[^,]+,[^,]+,[^,]+,)(.*$)
Alltså det första uttrycket ggr 5???
Finns det f.ö inga andra Rexexp experter här än Tom?
/JensaSv: RegExp fråga
Pattern ska vara "(([^,]*,?){5})(.*$)" för att hitta de 5 första kolumerna.
/Jensa