我在多行文本字段中有以下HTML。
href =“/ Pages / 33 / 33998.aspx”>(答案33998)
我需要从URL中删除文件夹结构。 在我的正则表达式中我可以找到匹配但我似乎无法让替换工作。有人有什么建议吗?
继承我正则表达式的开头:
<a href=\"\/Pages\/\d{1,}\/\d{3,}[.]aspx"></a>
所以我有这个:
Regex.Replace(Convert.ToString(properties.AfterProperties["Description"]), @"<a href='/Pages\/\d{1,}\/\d{3,}[.]aspx'>", "TEST", RegexOptions.IgnoreCase);
答案 0 :(得分:1)
您可以使用Regex.Replace
方法并使用群组来确定您需要在匹配中保留的内容,如下所示:
var sample = @"
href='/Pages/33/33998.aspx'>(Answer 33998)
href='/Pages/12345.aspx'>(no match)
href='/Pages/lala/12345.aspx'>(no match)
";
Console.WriteLine(Regex.Replace(sample,
// |-- First group--| |-- Second group --|
@"(href=['""]/Pages)/\d+(/\d{3,}\.aspx['""])", "$1$2"));
// ------------- First and second groups -------------^
答案 1 :(得分:0)
您可以使用/的简单拆分代替使用正则表达式,并取最后一个数组项。
string[] split = yourUri.Split("/");