Vad jag försöker att göra är följande. Hej, När jag utökade längden till RegEx problem
I en richtextBox, så laddar jag in en HTML-fil.
Via en class, så vill jag kolla upp om/var body-taggen finns.
Om jag hittar den, så vill jag göra en radbryt och en text skall infogas( inte ersättas).
Så här ser det ut nu:
<codesharp>
rtf.Visible=false;
string kollaM = "<body([^>]?)*>";
Regex repost = new Regex(kollaM,RegexOptions.IgnoreCase|RegexOptions.Compiled);
Match m;
m = repost.Match(rtf.Text);
if(m.Success)
{ // Märket finns
string texten = "\r\n";
texten = texten + "Nu skall vi se om det fungerar";
texten = texten + "\r\n";
rtf.SelectionStart = m.Index;
rtf.SelectionLength = texten.Length;
rtf.SelectedText = texten;
</code>
Den här koden fungerar så långt som, att den hittar body-taggen (om den finns).
Jag kan lägga in texten, men den ERSÄTTER texten i body-taggen, och det skall den ju inte göra.
[REDIGERAT]
Jag fick fram det lite bättre genom att göra:
<codeecharp>
rtf.SelectedText = m.Value.ToString() + "\r\n" + texten;
</code>
..men det lustiga är att den lägger till lite "skräp:
<BODY background="./bilder/bak.jpg">Nu skall vi se om det fungerar">
dvs en dubbelfnutt och ett störremindre-tecken.
Några tips?
[REDIGERAT IGEN]
Jag trodde att jag hadde hittat felet, och prövade så här:
<codecharp>
rtf.SelectionLength = texten.Length +2;
</code>
Det blev inte vad jag hadde hoppats på, det ersatte efterföljande text.
Några förslag om hur jag skall kunna kösa detta?Sv: RegEx problem
är det detta skräp du syftar på? fungerar"> alltså "> i texten?
Är du säker på att du inte har data som du skriver över och kvar blir då "> ?
Mvh JohanSv: RegEx problem
rtf.SelectionLength = texten.Length +2;
så verkar den biten fungera bättre, men det som inte är bra är att den tycks ersätta plats istället för att göra plats åt det som jag vill ha in.
[REDIGERAT]
Det ser ut som om jag har hittat felet nu:
<codecharp>
rtf.SelectionStart = m.Index;
rtf.SelectionLength = m.Length;
rtf.SelectedText = m.Value.ToString() + "\r\n" + texten + "\r\n";
</code>
Jag får kolla lite närmare :-)