以编程方式缩短URL字符串

时间:2018-10-16 13:57:16

标签: java string onclick android-edittext

我的应用中有一个EditText,用户可以输入youtube网址。

示例网址如下:

https://www.youtube.com/watch?v=gXrWv6zlg8s

当我抓取文本并将其制成字符串时,我只需要最后一个字符,例如 gXrWv6zlg8s

如何将字符串值缩短为仅此字符集?

final EditText url = findViewById(R.id.url);
b.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            String a;
            a = url.getText().toString().trim();}
}

感谢您的咨询。

3 个答案:

答案 0 :(得分:4)

String url= "https://www.youtube.com/watch?v=gXrWv6zlg8s";
System.out.println(url.substring(url.lastIndexOf("=") + 1));

答案 1 :(得分:3)

安全答案:

    Uri uri = Uri.parse("https://www.youtube.com/watch?v=gXrWv6zlg8s");
    if(uri.getQueryParameterNames().contains("v"))
    Log.d(DEBUG,uri.getQueryParameter("v"));

否则添加“引发videoCodeMissingException”。

编辑:

    String myUrl = "https://www.youtube.com/watch?v=gXrWv6zlg8s";
    Uri uri = Uri.parse(myUrl);
    if (uri.getQueryParameterNames().contains("v")) {
        Log.d(DEBUG, uri.getQueryParameter("v"));
    } else {
        throw new NoVideoParameterFoundException(myUrl);
    }

private class NoVideoParameterFoundException extends Exception{
        public NoVideoParameterFoundException(String message) {
            super(message);
        }
    }

答案 2 :(得分:2)

这可以解决问题:

a = url.substring(url.lastIndexOf("=") + 1);