Иногда regex
может быть немного подавляющим, особенно если вы не знакомы с ним. Это даже может сделать код более трудным для чтения (Disadvantages of using Regular Expressions). Теперь, не поймите меня неправильно, мне нравится использовать regex
, когда задача достаточно проста для него. ИМО, вам лучше решить это без regex
. Вы можете создать метод поиска местоположения индекса 5-го «/», а затем просто вернуть подстроку.
Что-то вроде:
public static void main(String[] args) {
String url = "http://daniel.mirimar.net.nz/Sites/reginald/DDD/CD";
System.out.println(substringNthOccurrence(url, '/', 5));
}
public static String substringNthOccurrence(String string, char c, int n) {
if (n <= 0) {
return "";
}
int index = 0;
while (n-- > 0 && index != -1) {
index = string.indexOf(c, index + 1);
}
return index > -1 ? string.substring(0, index + 1) : "";
}
Результаты:
http://daniel.mirimar.net.nz/Sites/reginald/