Jag hittade lösningen:
rtf.SelectionStart = m.Index;
rtf.SelectionLength = m.Length;
rtf.SelectedText = m.Value.ToString() + "\r\n" + texten + "\r\n";
1 svar · 204 visningar · startad av saw
Vad jag försöker att göra är följande.
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).
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 + "Bara för att kolla" +"\r\n";
texten = texten + "\r\n";
rtf.SelectionStart = m.Index;
rtf.SelectionLength = texten.Length +2;
rtf.SelectedText = m.Value.ToString() + "\r\n" + texten;
Vad som händer är:
Regex hittar taggen, och gör en ny rad, men skriver över den befintliga texten med en ny rad.
Hur bör jag göra för att få in texten utan att den skriver över någonting???
Jag hittade lösningen:
rtf.SelectionStart = m.Index;
rtf.SelectionLength = m.Length;
rtf.SelectedText = m.Value.ToString() + "\r\n" + texten + "\r\n";