作为实时情感项目的一部分,我有一个outlook签名,它由快乐、悲伤和中立的面孔组合而成,每个表情都有一个与其相关的嵌入式超链接(这是在Outlook的签名功能中完成的)。
示例“高兴”超链接如下所示:http://x.x.x.x/happy?sr=000000000。
使用VSTO,我提取电子邮件主题中的真实SR号,并将超链接中的"000000000“替换为SR编号。我想出了如何使用regex从主题中提取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?
谢谢你,丹
发布于 2017-05-12 17:09:59
这个新手没有意识到C#没有进行就地替换:
mail.HTMLBody = mail.HTMLBody.Replace("000000000", g.ToString());解决了这个问题。
https://stackoverflow.com/questions/43903944
复制相似问题