Я извлекаю строки из базы данных и сохраняю их в переменную String, которая находится внутри цикла for. Несколько строк, которые я извлекаю, имеют форму:
https://www.ppltalent.com/test/en/soln-computers-ltd
и мало кто в форме
https://www.ppltalent.com/test/ja/aman-computers-ltd
Я хочу разделить строку на две подстроки, например https://www.ppltalent.com/test/en/soln-computers-ltd
как https://www.ppltalent.com/test/en
и /soln-computers-ltd
.
Его можно легко отделить, если бы я имел только /en
.
String[] parts = stringPart.split("/en");
System.out.println("Divided String : "+ parts[1]);
Но во многих из строк он имеет /jr
, /ch
и т.д.
Итак, как я могу разбить их на две подстроки?
Возможно, вы можете использовать тот факт, что /en
и /ja
оба предшествуют /test/
. Итак, что-то вроде indexOf("/test/")
и затем substring
.
В ваших примерах кажется, что вас интересует последняя часть, которую можно было бы получить, например, lastIndexOf('/')
.
Или, используя взгляды, которые вы могли бы сделать
String s1 = "https://www.ppltalent.com/test/en/soln-computers-ltd";
String[] parts = s1.split("(?<=/test/../)");
System.out.println(parts[0]); // https://www.ppltalent.com/test/er/
System.out.println(parts[1]); // soln-computers-ltd
Разделить на последний /
String fullUrl = "https:////www.ppltalent.com//test//en//soln-computers-ltd";
String baseUrl = fullUrl.substring(0, fullUrl.lastIndexOf("//"));
String manufacturer = fullUrl.subString(fullUrl.lastIndexOf("//"));
/
и \ я верю :-)
String[] parts = string.split("-")