webForumDet fria alternativet

regexp i praktiken?

.NET

3 svar · 513 visningar · startad av CatZ

Medlem sedan jan. 20022 440 inlägg
Frågan#1

Jag undrar lite över hur det fungerar i praktiken. Jag vill till exempel byta \n (Environment.NewLine) mot <br /> beroende på om det är i databasen eller ska presenteras på sidan.

Jag har tidigare kört med string.Replace men om jag fattat det hela rätt så ska det vara rätt långsamt eftersom jag måste instantiera varje gång Replace körs?

Hur är det tänkt att jag ska använda regexp till vad jag vill i C#?

Medlem sedan jan. 20022 440 inlägg
#2

Jag menar alltså inte hur jag ska göra det utan NÄR!

Regex.Replace("inputstring", "\\n", "<br />");

Men när... i DAL vid hämtning från databasen? I min UI? helst skulle jag vilja lösa det i BLL eftersom jag inte tycker den logiken hör hemma någon annan stanns egentligen. Det är för att det ska bli radbrytningar vid utskrift och ingenting som varken DAL kodarn eller UI kodarn ska behöva ta hänsyn till även om det är jag i alla fallen.

Kan jag köra en regexp.Replace på en lista i mitt affärslogiska lager? Får man göra det?

Medlem sedan aug. 20003 575 inlägg
#3

Jag vet inte hur dina objekt ser ut, men jag tycker att du skall ha det som användaren skriver i databasen och köra replace vid hämtning.

Om du har en property som heter Text på ett objekt så tycker jag att du skall ha en funktion som heter GetHtmlFriendlyText eller ngt liknande GetHtmlFormatedText() kanske?

Medlem sedan jan. 20022 440 inlägg
#4

Det var så jag tänkte!

Nu var det kanske ett dåäligt exempel. Jag hade fler men kom bara på just det. Jag behöver väl egentligen inte regexp till det. Som det är nu kör jag bara

<%# Eval("Content") %>

direkt i en <p>-tagg i en repeater. Jag kommer även se till att länkar osv är "rätt" och öppnas i nytt fönster, göra länkar av url'er, e-postadresser och lite annat gott och blandat.

Det verkar vettigast att köra det på objekt.Text så jag fortsätter med det. Då sparar jag inte länkarna med hela sin "<a href=" i databasen då utan modifierar vid hämtning istället.

Tack för hjälpen, jag var iofs trött men jag fick inte ihop det igår kväll :)

251 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)