2014-09-22 264 views
0

我有一個string,看起來像這樣:如何從字符串中刪除多個子字符串?

string body = "<p>Dear Usr\r<br /> \r<br />See the following-\r<br /> \r<br />JN: 19\r<br />Site: \r<br />Description: \r<br />Work Order: \r<br /> \r<br />A listing of the works completed.\r<br />Thank you .\r<br />\r<br />\r<br />\r<br /> <https://running.fielders.com/OpenEmail/ChipCo042336/[email protected]/invs-693-285> <http://email.fielders.com/wf/open?upn=ADusIqwpYMLBRw2zAWXSKaHGA8vIY6xblvtU1D07Dfl99tcMOndfzsfNIZAug7FWHwvu6euZRgdGMOicT1XrX-2BWhviOs0Ze2NWM-2FHUPwrZ5HDwgQqeiA-2BiBSIR6BsFs4pFEbmpYxQgDSEaDAZDjUJG3pPNWBCOAMhMX-2BtJ-2Baza0d-2FeipGGk1nzAI2FMUHPpU69cAr1GbPxXed-2FuQxAHEGg-3D-3D></p>" 

現在,我希望能夠在string和「<>」標籤周圍的網址結束卸下兩個網址

第一招:

<https://running.fielders.com/OpenEmail/ChipCo042336/[email protected]/invs-693-285> 

第二個:

<http://email.fielders.com/wf/open?upn=ADusIqwpYMLBRw2zAWXSKaHGA8vIY6xblvtU1D07Dfl99tcMOndfzsfNIZAug7FWHwvu6euZRgdGMOicT1XrX-2BWhviOs0Ze2NWM-2FHUPwrZ5HDwgQqeiA-2BiBSIR6BsFs4pFEbmpYxQgDSEaDAZDjUJG3pPNWBCOAMhMX-2BtJ-2Baza0d-2FeipGGk1nzAI2FMUHPpU69cAr1GbPxXed-2FuQxAHEGg-3D-3D> 

string的內容可以從底座分開改變,因此可以在URL網址,這是http://email.fielders.comhttps://running.fielders.com我知道我需要尋找那些基本網址,除去<然後刪除直到我打到下一個>,但我無法完全理解它。

我已經嘗試了好幾個小時玩這個周圍:

body = Regex.Replace(body, @"\s*?(?:\<http://email.fielders.com*?\>|\<https://running.fielders.com/OpenEmail/*?\>)", String.Empty); 

,但沒有運氣。

回答

3

試試這個:

var newString = Regex.Replace(myString, @"(<http://email\.fielders\.com[^>]+>|<https://running\.fielders\.com[^>]+>)", ""); 

兩個網址,直到>被發現的基地和所有字符匹配:

<http://email\.fielders\.com[^>]+> 
3

您可以使用下面的正則表達式。

Regex.Replace(body, @"<https?://(?:email|running)\.fielders\.com[^>]+>", ""); 

Ideone Demo

+0

這是智能!!!!!! – vks 2014-09-22 13:49:24

相關問題