使用正则表达式进行纯文本到HTML转换的小错误

时间:2011-07-06 14:22:26

标签: c# html regex visual-studio-2010

在从纯文本转换为HTML时,我遇到了一个小错误。可能是什么原因?

输入:(纯文本)

this is test input.

输出(虚拟纯文本,但HTML)

   this is test input.

BUG:向前移动一个或两个空格。我不知道为什么会这样。

代码供您参考

string Text = "<html><body><pre style=\"font-family:consolas;font-size:88%;\">" 
    + mailItem.Body + "</pre></body></html>";

mailItem.HTMLBody = Text;          
mailItem.HTMLBody = Regex.Replace(mailItem.HTMLBody, 
    "(ASA[a-z][a-z][0-9][0-9])", "<a href=\"http://stack.com/eg=$&\">$&</a>");

1 个答案:

答案 0 :(得分:0)

我测试了以下内容,它可以工作(例如,输出开头没有空格):

string mailItemBody = "ASAss87";
string oldText = "<html><body><pre style=\"font-family:consolas;font-size:88%;\">"
    + mailItemBody + "</pre></body></html>";

string newText = Regex.Replace(
    oldText, "(ASA[a-z][a-z][0-9][0-9])", "<a href=\"http://stack.com/eg=$&\">$&</a>");

Console.WriteLine("Old text is: \n\n" + oldText + "\n\n");
Console.WriteLine("New text is: \n\n" + newText + "\n\n");

我会调查用于实例化mailItem的类,并在HTMLBody属性中查看是否有任何有趣的事情发生在那里。