Søg/Erstat med Regular Expressions i Visual Studio

Jeg bruger det kun sjældent, så når jeg lige har brug for det ... hvordan er det så lige syntaxen er?

Lad os som eksempel sige, at vi har en XML-struktur som dette:

<option name="1357" value="lorem">Some option text</option>
<option name="2468" value="ipsum">Some other text</option>

Vi vil nu gerne have ombyttet værdierne for de to attributter name og value.

Som søgekriterier bruger vi dette udtryk/mønster:

name="{.*}" value="{.*}"

De 2 udtryk i {..} matcher hver især på en tekststreng af vilkårlig længde, afgrænset af ". Indholdet af de 2 kan så bruges i vores erstat/replace udtryk således:

name="\2" value="\1"

Dvs. værdien fra det andet {..}-match indsættes i stedet for \2 og værdien af det første {..}-match indsættes i stedet for \1.

Tags:

Langsom OUTER JOIN

Utroligt hvor effektiv lidt omskrivning af SQL kan være! Forklaring følger ...

Jeg havde i min MS SQL database et view, der bl.a. omfattede en WHERE clause med 2 udtryk adskilt af OR. Viewet returnerede kun 1150 rækker, men eksekveringen tog 45+ sekunder! Index på relevante felter gav intet positivt resultat. Ved at fjerne halvdelen af min WHERE clause (OR ...) gjorde at viewet kunne eksekvere på <1 sekund. Dette gjalt for begge dele af WHERE-udttrykket.

What to do?

Ved skille hele view SELECT udtrykket i 2 "ens" dele - blot med hver deres WHERE clause - og så lave en UNION ALL i mellem ... TADAAA! Hele viewet eksekverer på <1 sekund.

Tags:

Synkronisering af resource-filer (.RESX)

Arbejder du med resource-filer i ASP.NET - fx til håndtering af flere sprog - havner du sikkert i en situation hvor du får tilføjet nye keys i din primære resource-fil. Problemet er så at få opdateret alle øvrige resource-filer med de nye keys.

Til at løse dette banale problem faldt jeg over dette lille smarte command-line-værktøj: http://www.screwturn.eu/ResxSync.ashx. Med dette lille værktøj kan du få hurtigt så synkronieret keys fra din primære resource til en anden.

Tags:

Ny blog

Det er ikke nogen hemmelighed, at jeg ikke er alt for aktiv med hensyn til at skrive på min blog. Alligevel er det nu tid til at prøve lidt igen; og nu på en ny blog-platform; BlogEngine.NET.

Jeg vil forsøge fremover at skrive jeg oftere og nu med lidt mere fokus på eksperimenter i køkkenet, opskrifter m.v.

Tags: