FAQ |
Kalender |
![]() |
#1 | |||
|
||||
Flitig postare
|
Jag har en sträng som jag vill kunna ha "stoppord" i. Om stoppordet finns vill jag dela upp strängen till delen före- och efter stoppordet.
Så här skulle det kunna se ut vid de tillfällen stoppordet finns: Kod:
//C# string htmlBody = "<h1>Karta</h1><!-- Karta-00001 --><p>Ovan kan du se en karta för...</p>"; Min tanke är att kunna byta ut kommentaren mot en usercontrol som innehåller kartan. Tips eller kodexempel mottages tacksamt. |
|||
![]() |
![]() |
![]() |
#2 | ||
|
|||
Har WN som tidsfördriv
|
|||
![]() |
![]() |
![]() |
#3 | |||
|
||||
Flitig postare
|
Tror jag har löst det, eller åtminstone kommit förbi mitt största hinder.
Postar testkoden så om du har kommentarer att ge så... RightBack/LeftBack returnerar SubString klippt antingen från vänster eller höger. Kod:
protected void Page_Load(object sender, EventArgs e) { string htmlBody = "<h1>Karta</h1><!-- Karta-00000001 --><p>Ovan kan du se en karta för...</p>"; StringBuilder sb = new StringBuilder(); sb.Append(Server.HtmlEncode(htmlBody) + "<br />\n"); sb.Append(CheckForMap(htmlBody).ToString() + "\n"); sb.Append("<br />\n"); sb.Append(returnMap(htmlBody)); litOut.Text = sb.ToString(); } protected bool CheckForMap(string input) { bool val = false; if (input.Contains("<!-- Karta-")) { val = true; } return val; } protected string returnMap(string input) { string retVal = string.Empty; Regex r = new Regex("(<!-- Karta-)"); string[] s = r.Split(input); if (s[2] != null) { retVal = "<pre>" + wf.Util.RightBack(s[2], s[2].Length - 12) + "</pre>\n"; //kollar kartans id retVal += "<br /><pre>Kartans id: " + wf.Util.LeftBack(s[2], 8) + "</pre>\n"; } return retVal; } |
|||
![]() |
![]() |
![]() |
#4 | ||
|
|||
Mycket flitig postare
|
http://msdn.microsoft.com/en-us/library/fk49wtc1.aspx en oneliner..
|
||
![]() |
![]() |
![]() |
#5 | |||
|
||||
Flitig postare
|
Citat:
|
|||
![]() |
![]() |
![]() |
#6 | ||
|
|||
Har WN som tidsfördriv
|
Detta tror jag löser ditt problem. Du får det i vb.net men du fixar nog detta.
Citat:
|
||
![]() |
![]() |
![]() |
#7 | |||
|
||||
Mycket flitig postare
|
Regexp är konstruerat för just den här typen av problem - gör ett regexp-replace hur det nu kan tänkas se ut i ditt språk.
|
|||
![]() |
![]() |
![]() |
#8 | ||
|
|||
Har WN som tidsfördriv
|
Citat:
![]() |
||
![]() |
![]() |
![]() |
#9 | ||
|
|||
Flitig postare
|
Det går, man använder delegater. Skickar in en delegate, dvs. en pekare på en funktion, istället för en textsträng. Man kan plocka alla delarna i matchningen i realtid och ersätta texten, hur smidigt som helst. Och med anonyma delegater blir koden riktigt fin
![]() |
||
![]() |
![]() |
![]() |
#10 | ||
|
|||
Har WN som tidsfördriv
|
Citat:
![]() |
||
![]() |
![]() |
Svara |
|
|