C#VSTO Outlook 2016:修改图像中嵌入的超链接

C#VSTO Outlook 2016:修改图像中嵌入的超链接,c#,email,hyperlink,outlook,C#,Email,Hyperlink,Outlook,作为实时情感项目的一部分,我有一个outlook签名,它由快乐、悲伤和中性的脸组成,每个脸都有一个与之关联的嵌入式超链接(这是在outlook的签名功能中完成的) 示例“快乐”超链接如下所示: 使用VSTO,我提取电子邮件主题中的真实SR编号,并用SR编号替换超链接中的“000000000”。我知道如何使用正则表达式从主题中提取SR编号,但是当我尝试替换mail.Body(mail.Body.replace)中的“000000000”时,它起作用了,但我丢失了图形(即快乐/悲伤/中性的脸)。因此

作为实时情感项目的一部分,我有一个outlook签名,它由快乐、悲伤和中性的脸组成,每个脸都有一个与之关联的嵌入式超链接(这是在outlook的签名功能中完成的)

示例“快乐”超链接如下所示:

使用VSTO,我提取电子邮件主题中的真实SR编号,并用SR编号替换超链接中的“000000000”。我知道如何使用正则表达式从主题中提取SR编号,但是当我尝试替换mail.Body(mail.Body.replace)中的“000000000”时,它起作用了,但我丢失了图形(即快乐/悲伤/中性的脸)。因此,我在发送的电子邮件中看到的只有3个超链接

我的代码如下所示:

Regex regex = new Regex(@"(^|\D)(\d{9})($|\D)");
if (mail != null)
{
    Match m = regex.Match(mail.Subject);
    if (m.Success)
    {
         Group g = m.Groups[0];
         mail.Subject += " !!Found " + g + "  in subject.";
         mail.Body.Replace("000000000", g.ToString());
    }
    ...
我希望能够在超链接中传递SR,以便我的web服务器可以在用户反馈中使用它

我的问题是如何在不丢失签名的图形部分(高兴、悲伤、中性的脸)的情况下替换超链接中的000000000

谢谢,,
Dan

这个新手没有意识到C#没有做原地替换:(

解决了这个问题

mail.HTMLBody = mail.HTMLBody.Replace("000000000", g.ToString());