сокращение строки URL программно - PullRequest
0 голосов
/ 16 октября 2018

У меня есть EditText в моем приложении, пользователи могут ввести URL-адрес YouTube.

Пример URL выглядит следующим образом:

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 голосов
/ 16 октября 2018

Это поможет:

a = url.substring(url.lastIndexOf("=") + 1);
0 голосов
/ 16 октября 2018

Безопасный ответ:

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

Добавьте «throw videoCodeMissingException» else.

РЕДАКТИРОВАТЬ:

    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);
        }
    }
0 голосов
/ 16 октября 2018
String url= "https://www.youtube.com/watch?v=gXrWv6zlg8s";
System.out.println(url.substring(url.lastIndexOf("=") + 1));
...