早上做一个Feature的时候,需要这样的一个操作,将给定的一个URL字符串,转换成Application中的Path路径,方便Router做跳转。最开始我是打算通过正则来去写的,最后想一想普通的String转换就能做到。

假设输入路径为

预期想要得到的结果为

  • /testUrl/Thisisatest
  • /notatall
  • /

代码很简单,如下

private String convertUrlToPath(String url) {
        url = url.substring(url.indexOf("//") >= 0 ? (url.indexOf("//") + 2) : 0);
        int index = url.indexOf("/") >= 0 ? url.indexOf("/") : url.length();
        String path = "/" + url.substring(index + 1);
        return path;
    }