繁体   English   中英

使用RegEx构造重定向URL

[英]Construct redirect URL with RegEx

如何使用Regex进行重定向的示例

exemple.com/en/solution/platform-features

exemple.com/en/platform-features

如果您打算始终删除第三个元素,则应该这样做

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;

您不需要正则表达式; 这只是一个简单的替换方案。 虽然,为了使其更加灵活,您可以为涉及的部分添加可配置的值,如下所示:

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>
/([^/]+)(?=/[^/]+/?$)

这个正则表达式将获得您想要的,但是无论如何,您始终可以将split函数用于/并重新加入c#

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM