数字和特殊字符不起作用

Sha*_*God -2 vb.net visual-studio-2015

我试图取代a4在RichTextBox.它将文本"a"替换为"4"而不是"4nsi4nsicpg1252ng16393rd4r".

这是我正在使用的代码: RichTextBox1.Rtf = RichTextBox1.Rtf.Replace("a", "4")

有关如何用"4"替换"a"的任何帮助?顺便说一句,我可以用"测试"而不是"4"代替"a"

Mar*_*ark 5

RTF(富文本格式)是文档文本和控制字的混合,用于描述如何格式化文本.该RichTextBox1.Rtf属性返回RTF,而不是纯文本,因此您的Replace语句正在破坏某些RTF控制字.例如,您的RTF可能会启动:

{\rtf1\ansi\ansicpg1252 ...
Run Code Online (Sandbox Code Playgroud)

在哪里\rtf1,\ansi并且\ansicpg1252是RTF控制字.你Replace改成了:

{\rtf1\4nsi\4nsicpg1252 ...
Run Code Online (Sandbox Code Playgroud)

由于\4nsi\4nsicpg1252不再是有效的RTF控制字,它们最终显示为文本 - 减去\用于指示控制字开始的字符.

RichTextBox.Text属性将返回纯文本,因此您可以尝试使用它,但我怀疑这也会删除已应用于文档的任何格式:

RichTextBox1.Text = RichTextBox1.Text.Replace("a", "4")
Run Code Online (Sandbox Code Playgroud)