我有一个应用程序可以读取源 html 并下载电子邮件的所有附件。这工作正常,除了 Microsoft Outlook 有一些奇怪的源值,例如......
<img width="163" height="39" id="Picture_x0020_1" src="cid:image001.png@01CD7F6C.70CD2320" alt="Description: Description: Description: cid:image001.png@01CC6D59.AEF6D270">
首先,我想将其更改为仅 Attachments\image001.png 作为源。此外,alt 应该只是 image001.png,而不是这个长而奇怪的 alt。不太确定该怎么做。
最佳答案
您应该使用正则表达式(我更新了您问题中的标签以反射(reflect)这一点):
Regex.Replace(text, @"src=""cid:(?<FileName>[^@]+)@[^""]*""", @"src=""Attachments\${FileName}""",
RegexOptions.IgnoreCase | RegexOptions.CultureInvariant);
Regex.Replace(x, @"alt=""[^.]*cid:(?<FileName>[^@]+)@[^""]*""", @"alt=""${FileName}""",
RegexOptions.IgnoreCase | RegexOptions.CultureInvariant);
我确信有更有效的方法可以做到这一点,但这就是我能想到的。
关于c# - 使用正则表达式替换 MS Outlook html 源字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12096866/