Ten kod przeszukuje richtextbox i zamienia pierwsze pole tablicy na drugie. Wszystko działa dobrze, z wyjątkiem dwóch pól.Jak uciec od znaków specjalnych w regex?
iEmo = new string[,] {
{@":\)", Smile},
{@":\(", Sad},
{@"8\)", Cool},
{@":\|", Neutral},
{@";\)", Wink},
{@">:\(", Evil}, // Won't work for this one
{@">:D", Twisted}, // Or this one
{@":\?", Question,}
};
Oto część, która przekształca tablicę do czego chcę:
public void SetSmiley(RichTextBox RichBox) {
for (int i = 0; i < (iEmo.Length/3); i++) {
try {
RichBox.Rtf = Regex.Replace(RichBox.Rtf, iEmo[i, 0], iEmo[i, 1], RegexOptions.IgnoreCase);
}
catch (Exception e){}
}
}
Tak, mój błąd, chociaż został zredagowany przez "Bart" minutę temu. Dzięki. – user1667191
Dlaczego używasz wyrażeń regularnych? Dlaczego nie po prostu normalne 'String.Replace'? –
Próbowałem również tej metody, ale znowu, nadal produkuje mój pierwotny problem. – user1667191