我有一个Web应用程序,可以接受来自桌面应用程序的上传。在配置中,用户指定要上载到的服务器路径的URL。
我的问题是,如果用户在URL配置中包含尾部斜杠,则最终会破坏发布功能。如果在主机名/端口之后存在双斜杠,我怎么才能剥离双斜杠?这种情况的原因是我们在URL中编码特殊字符,包括正斜杠和反斜杠。
例如,在桌面配置
中http://sub.company.com
http://localhost:8888
http://sub.company.com/
http://localhost:8888/
我们有一个附加的REST网址,因此上面发布的网址实际上是
http://sub.company.com/server/rest/publish --> Valid, no trailing slash in config
http://localhost:8888/server/rest/publish --> Valid
http://sub.company.com//server/rest/publish --> Returns a 404
http://localhost:8888//server/rest/publish -- Returns 404
是否有正则表达式去除双斜杠并在主机名/端口后面插入一个斜杠?
答案 0 :(得分:0)
这样的东西会匹配你正在寻找它的位置有一个双斜线的线
(https?://[^:]*[:0-9]*)//(.*)
然后您可以用
替换它\1/\2