一、背景
·在Web开发中,我们经常需要对URL进行操作,例如获取路径、参数等。有时候,由于各种原因,URL中可能会包含多余的斜杠,如 “https://example.com/path/to//profile///somefile.jpg”。这样的URL虽然不会影响访问,但在某些场景下,我们需要将其简化,以提高代码的可读性和维护性。
二、需求分析
我们需要编写一个Java类,用于清理URL中的多余斜杠。具体要求如下:
- 移除协议部分(如 http:// 或 https://);
- 将连续的斜杠替换为单个斜杠;
- 恢复协议部分。
三、实现步骤
- 创建一个名为URLCleaner的Java类;
- 在类中定义一个cleanUrl方法,用于清理URL;
- 在main方法中测试cleanUrl方法。
以下为具体实现代码:
public class URLCleaner {
public static void main(String[] args) {
String url = "https://example.com/path/to//profile///somefile.jpg";
String url2 = "http://example.com/path/to//profile///somefile.jpg";
String cleanedUrl = cleanUrl(url);
String cleanedUrl2 = cleanUrl(url2);
System.out.println(cleanedUrl);
System.out.println(cleanedUrl2);
}
public static String cleanUrl(String url) {
// 移除协议部分
String urlWithoutProtocol = url.substring(url.indexOf("://") + 3);
// 替换连续的斜杠为单个斜杠
String cleanedUrl = urlWithoutProtocol.replaceAll("/{2,}", "/");
// 添加协议部分
return url.substring(0, url.indexOf("://") + 3) + cleanedUrl;
}
}
四、测试结果
运行上述代码,输出结果如下:
https://example.com/path/to/profile/somefile.jpg
http://example.com/path/to/profile/somefile.jpg
可以看到,多余的斜杠已被成功清理。