我的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@email.com/invs-693-285> <http://email.fielders.com/wf/open?upn=ADusIqwpYMLBRw2zAWXSKaHGA8vIY6xblvtU1D07Dfl99tcMOndfzsfNIZAug7FWHwvu6euZRgdGMOicT1XrX-2BWhviOs0Ze2NWM-2FHUPwrZ5HDwgQqeiA-2BiBSIR6BsFs4pFEbmpYxQgDSEaDAZDjUJG3pPNWBCOAMhMX-2BtJ-2Baza0d-2FeipGGk1nzAI2FMUHPpU69cAr1GbPxXed-2FuQxAHEGg-3D-3D></p>"
现在,我希望能够删除string
和“&lt;&gt;”末尾的两个网址 网址周围的标签:
第一个:
<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>
string
的内容可能会发生变化,网址的内容也会发生变化,而基本网址除外http://email.fielders.com
和{{} 1}}我知道我需要搜索这些基本网址,移除https://running.fielders.com
然后删除,直到我点击下一个<
但我无法理解它。
我已经尝试了几个小时玩这个:
>
但没有运气。
答案 0 :(得分:3)
试试这个:
var newString = Regex.Replace(myString, @"(<http://email\.fielders\.com[^>]+>|<https://running\.fielders\.com[^>]+>)", "");
对于这两个网址,匹配基础和所有字符,直到找到>
:
<http://email\.fielders\.com[^>]+>
答案 1 :(得分:3)
您可以使用以下正则表达式。
Regex.Replace(body, @"<https?://(?:email|running)\.fielders\.com[^>]+>", "");
答案 2 :(得分:0)
<((?:http|https):\/\/(?:email\.fielders\.com|running\.fielders\.com)(?:(?![<>]).)*)>
试试这个。看看演示。