首页 > 解决方案 > 获取 URL 中倒数第二个斜杠后的字母

问题描述

我有一个网址,我正在尝试获取倒数第二个之后的字母/

试图得到12345

String url = "https://imgur.com/a/12345/all";

我正在努力弄清楚如何为我的动态函数创建算法:

private static String getNthCharacters(String url, int position){
        if(position == 1){
            return url.substring(url.lastIndexOf("/") + 1);
        }
        
        return null;
    }
Log.d(TAG, "onCreateView: " + getNthCharacters(url, 1));

有一个更好的方法吗?

标签: java

解决方案


这会做我认为你所要求的。它通过给函数一个否定的位置让你说“倒数第二个”:

public class Test {

    private static String getNthCharacters(String url, int position) {
        String[] parts = url.split("/");
        if (position < 0)
            position = parts.length + position;
        return parts[position];
    }

    public static void main(String[] args) {
        String url = "https://imgur.com/a/12345/all";
        String r = getNthCharacters(url, -2);
        System.out.println(r);
    }
}

结果:

12345

推荐阅读