2012-08-23 4 views
5

私はソースhtmlを読んで、電子メールのすべての添付ファイルをダウンロードするアプリケーションを持っています。これは、Microsoft Outlookが例えばいくつかの奇妙なソース値を、持っているという事実を除いて正常に動作します...regexを使ってMS OutlookのHTMLソース文字列を置き換えますか?

<img width="163" height="39" id="Picture_x0020_1" src="cid:[email protected]" alt="Description: Description: Description: cid:[email protected]">

まず、私は\だけ添付ファイルをソースとしてimage001.pngをそれを変更したいと思います。また、altはちょうどimage001.pngでなければなりません。これについてどうやって行くのかは分かりません。

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

私はこれを行うためのより効率的な方法があると確信しているが、それは私が思い付くことができるものです:

+2

[正規表現を使ってhtmlを解析しない](http://stackoverflow.com/a/1732454/26226) – jrummell

+0

私はタイトルがうまくいたと思う、私はちょうど正規表現は、通常、HTMLの解析で非常に信頼性が低いことを指摘している。 – jrummell

+1

'text'が' same pattern'と 'same format'を持っていると確信すれば**決して**変更しないでください** ** REGEX'を使うべきです**これはhtmlファイルでは起こりそうもありませんしかし、私は 'REGEX'はここで良い選択肢になると思う... – Anirudha

答えて

2

あなたは正規表現を使用する必要があります(私はこれを反映するために、あなたの質問にタグを更新します)。

関連する問題