在XML解析器中处理非标准引号的最佳方法
本文关键字:最佳 方法 非标准 处理 XML | 更新日期: 2023-09-27 18:17:29
我正在创建一个用XML格式处理文本的程序。我发现,当标签值是非ASCII引号(双引号/ASCII 34,单引号/ASCII 39)时,解析会抛出异常。这些引语可能来自Ms Word(自动格式化)等编辑软件。
目前我解析文本框的每一行,并在处理XML之前替换引号。下面是代码(c#)
int nLines = textBox1.Lines.Length;
for (int i = 0; i < nLines; i++)
{
// get the current line and replace quotes with standard ones
line = Regex.Replace(textBox1.Lines[i], "['u2018|'u2019|'u201A]", "'");
line = Regex.Replace(line, "['u201C|'u201D|'u201E]", "'"");
我想知道是否有更好/更正确/更快的方法来实现这一点?我所说的更正确的方法是指该方法应该涵盖几乎所有的引号(我听说'd可以用于0-9和unicode)。提前感谢!
'p{Pi}
和'p{Pf}
类可以用来匹配这类引号。但是,它们并不区分单引号和双引号。
'p{Pi}
->左引号
'p{Pf}
->右引号