如何使用Regex重定向示例
exemple.com/en/solution/platform-features
到
exemple.com/en/platform-features
答案 0 :(得分:0)
如果您的目的是始终删除第三个元素,那么应该这样做
var reg = new Regex(@"(?<Begin>([^/]*/){2})[^/]*/(?<End>.*)");
var match = reg.Match(@"exemple.com/en/solution/platform-features");
var result = match.Groups["Begin"].Value + match.Groups["End"].Value;
答案 1 :(得分:0)
你不需要正则表达式;这只是一个简单的替换方案。虽然为了使其更加灵活,您可以为相关部件添加可配置值,如下所示:
var pattern = ConfigurationManager.AppSettings["pattern"];
var replacement = ConfigurationManager.AppSettings["replacement"];
var url = @"exemple.com/en/solution/platform-features";
var resultUrl = url.Replace(pattern, replacement);
return resultUrl;
在您的配置文件中,只需输入:
<appSettings>
<add key="pattern" value="/solution/" /> <!--Don't just replace "solution"-it can be another part of the url-->
<add key="replacement" value="/" />
</appSettings>
答案 2 :(得分:0)
/([^/]+)(?=/[^/]+/?$)
这个正则表达式会得到你想要的,但无论如何你总是可以使用拆分函数/并在c#中加入它#