Q:

How can I remove multiple sub-string from a string?

I have a string that looks like this:
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@email.com/invs-693-285> <http://email.fielders.com/wf/open?upn=ADusIqwpYMLBRw2zAWXSKaHGA8vIY6xblvtU1D07Dfl99tcMOndfzsfNIZAug7FWHwvu6euZRgdGMOicT1XrX-2BWhviOs0Ze2NWM-2FHUPwrZ5HDwgQqeiA-2BiBSIR6BsFs4pFEbmpYxQgDSEaDAZDjUJG3pPNWBCOAMhMX-2BtJ-2Baza0d-2FeipGGk1nzAI2FMUHPpU69cAr1GbPxXed-2FuQxAHEGg-3D-3D></p>"

Now, I want to be able to remove the two URLs at the end of the string and the "<>" tags around the URLs:
First one:
<https://running.fielders.com/OpenEmail/ChipCo042336/email@email.com/invs-693-285>

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

The contents of the string can change, and so can the URL apart from the base URLs, which are http://email.fielders.com and https://running.fielders.com I know I need to search for those base urls, remove the < then delete until I hit the next > but I can't quite get it.
I have tried for hours playing around with this:
body = Regex.Replace(body, @"\s*?(?:\<http://email.fielders.com*?\>|\<https://running.fielders.com/OpenEmail/*?\>)", String.Empty);

But no luck. 

A:

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

for both URLs, match the base and all characters until a > is found:
<http://email\.fielders\.com[^>]+>

A:

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

Ideone Demo

