Permalänk
Medlem

Regex hjälp!

Hej!

Jag vill med regex byta ut alla , tecken som inte har " framför OCH bakom sig.
Jag har försökt i över 1h nu och får verkligen inte till det. Vet inte om det bara är jag som är dum eller om det faktiskt inte är så enkelt som jag hoppats.

Tack på förhand
2infinity

Permalänk
Medlem

[^\"]\w[^\"]

?

Permalänk
Medlem

Funkar tyvärr inte, den väljer ut ett tecken före och efter , tecknet vilket jag inte vill.
Fler förslag?

Permalänk
Legendarisk
Skrivet av 2infinity:

Hej!

Jag vill med regex byta ut alla , tecken som inte har " framför OCH bakom sig.
Jag har försökt i över 1h nu och får verkligen inte till det. Vet inte om det bara är jag som är dum eller om det faktiskt inte är så enkelt som jag hoppats.

Tack på förhand
2infinity

((?<!"),|,(?!")) PS > [Regex]::Replace('"," , ", ,"', '((?<!"),|,(?!"))', '-') "," - "- -"

Ger dig alla komman som inte har ett citattecken på endera sidan, och alltså inte kan ha det på båda.

Skickades från m.sweclockers.com

Visa signatur

Abstractions all the way down.

Permalänk
Medlem

Tack, verkar dock inte heller fungera. Testar på: http://www.regextester.com/

Hittade tillslut ett regex som fungerar, det är: ,(?=([^\"]*\"[^\"]*\")*(?![^\"]*\"))
Hittade det på: http://weblogs.asp.net/prieck/archive/2004/01/16/59457.aspx
Det jag gör är att försöka att parsa en csv fil och därför splitta upp den på rätt ställen.

Tack för all hjälp ändå!