获取URL最后一个 ‘/’ 之后的字符

发布时间:2020-07-07 04:03:24 作者:胡壮壮
来源:网络 阅读:336

在开发项目的过程中,经常遇到需要解析论坛,博客等的URL的问题,比如:'abc/def/jkl' 或 'abc/def/jkl/',获取最后一个‘/’之后的所有字符‘jkl’,由于特殊字符'/'的个数不固定,从前向后正向解析URL,有点困难,其实有更简单的方法,那就是逆向解析法。

逆向解析的思路非常简单,因为最后一个特殊字符'/'的位置不确定,变通一下,使用reverse函数,将最后一个特殊字符'/'转化为第一个特殊字符,获取第一个特殊字符'/'之前的所有字符。 

Script1,用于不以 ‘\’结尾的URL

获取URL最后一个 ‘/’ 之后的字符

declare @ExpressionToSearch varchar(max)set @ExpressionToSearch='/eeabc/def/abc/jkl'--set @ExpressionToSearch='eeabc/def/abc/jkl'--select reverse(@ExpressionToSearch)select right(@ExpressionToSearch,
                iif(charindex('/',reverse(@ExpressionToSearch),1)=0,                    len(@ExpressionToSearch),                    charindex('/',reverse(@ExpressionToSearch),1)-1)
            )

获取URL最后一个 ‘/’ 之后的字符

script2,如果以'/'结尾,取最后两个‘/'字符之间的字符串,类似从字符串 'abc/def/jkl/' 中取‘jkl’

获取URL最后一个 ‘/’ 之后的字符

declare @ExpressionToSearch varchar(max)set @ExpressionToSearch='/eeabc/def/abc/jkl/'--set @ExpressionToSearch='eeabc/def/abc/jkl'--select reverse(@ExpressionToSearch)select left(StrToSearch,len(StrToSearch)-charindex('/',reverse(StrToSearch),1))from (select right(@ExpressionToSearch,
                iif(charindex('/',reverse(@ExpressionToSearch),2)=0,                    len(@ExpressionToSearch),                    charindex('/',reverse(@ExpressionToSearch),2)-1)
            )
)as T(StrToSearch)

获取URL最后一个 ‘/’ 之后的字符


推荐阅读:
  1. 教你如何实现SpringCloud URL的重定向及转发
  2. HTML URL代表HTML

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

url

上一篇:LVM逻辑盘卷管理

下一篇:SQL Server Replication—本地发布订阅配置

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》