У меня есть строковое имя packageName = "https://play.google.com/store/apps/details?id=com.MoversGames.DinosaurWorldGame";
Как я могу получить subString из этой строки. Хочу взять "id=com.MoversGames.DinosaurWorldGame" вот это из String packgeName. Длина этой строки может измениться. Это не постоянная его переменная.
@NawnitSen Regex? Вы также можете сделать это с помощью стороннего веб-сервера, но зачем вам такая мощь для чего-то такого простого.
Просто разделите строку с помощью разделителя ?, и вы получите свой результат.
@NickCardoso - это первое, что пришло мне в голову.




Вам нужно использовать String.substring()
Попробуйте подставить строку из индекса id в length вашего string
В этом примере ниже я начал подстроку с индекса ? +1, поэтому он запустит substring, вашу строку от id до длины вашей строки
ОБРАЗЕЦ КОДА
String packageName = "https://play.google.com/store/apps/details?id=com.MoversGames.DinosaurWorldGame";
String answer = packageName.substring(packageName.indexOf("?")+1, packageName.length() );
Log.e("ANSWER", answer);
ВЫХОД
2018-10-11neel.com.myapplication E/ANSWER: id=com.MoversGames.DinosaurWorldGame
Спасибо, брат ... ты сэкономил мне время, которое было слишком критичным!
В вашей строке может быть еще несколько параметров запроса, поэтому вы также можете попробовать это следующим образом:
String packageName = "https://play.google.com/store/apps/details?i
id=com.MoversGames.DinosaurWorldGame&x=y&z=a";
String answer = packageName.substring(packageName.indexOf("id"));
System.out.print("ANSWER", answer);
вы можете сделать это с помощью регулярного выражения