更新希望这篇文章对使用 RichTextBoxes 的编码人员有所帮助。匹配对于普通字符串是正确的,我没有看到这个并且我没有看到richTextBox.Rtf 中的“ä”转换为“\e4r”!所以 Match.Value 是正确的 - 人为错误。
RegEx 找到正确的文本,但 Match.Value 是错误的,因为它将德语“ä”替换为“\'e4”!
让 example_text = " Primär-ABC " 并让我们使用以下代码
String example_text = "<em>Primär-ABC</em>";
Regex em = new Regex(@"<em>[^<]*</em>" );
Match emMatch = em.Match(example_text); //Works!
Match emMatch = em.Match(richtextBox.RTF); //Fails!
while (emMatch.Success)
{
string matchValue = emMatch.Value;
Foo(matchValue) ...
}
然后 emMatch.Value 返回“ Prim\'e4r-ABC ”而不是“ Primär-ABC ”。
德语 ä 转换为 \'e4! 因为我想使用确切的字符串,所以我需要将 emMatch.Value 设为Primär-ABC - 我该如何实现?