Questo codice ricerca un richtextbox e sostituisce il primo campo dell'array nel secondo. Funziona tutto bene tranne che per due campi.Come sfuggire ai caratteri speciali nell'espressione regolare?
iEmo = new string[,] {
{@":\)", Smile},
{@":\(", Sad},
{@"8\)", Cool},
{@":\|", Neutral},
{@";\)", Wink},
{@">:\(", Evil}, // Won't work for this one
{@">:D", Twisted}, // Or this one
{@":\?", Question,}
};
Ecco la parte che converte l'array in quello che voglio:
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){}
}
}
Sì errore, anche se è stato modificato da "Bart" 1 minuto fa. Grazie. – user1667191
Perché stai usando le espressioni regolari? Perché non solo normale 'String.Replace'? –
Ho anche provato questo metodo, ma ancora, produce ancora il mio problema originale. – user1667191