6

我有一个应用程序可以读取源 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。不知道该怎么做。

4

1 回答 1

3

您应该使用正则表达式(我更新了您问题中的标签以反映这一点):

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);

我确信有更有效的方法可以做到这一点,但这就是我能想到的。

于 2012-08-23T17:48:06.957 回答