2013-03-15 4 views

ответ

2

Вам не нужно регулярное выражение, чтобы сделать это, ниже не является регулярное выражение решения с использованием методов манипуляции со строками:

String s = "/home/user/Documents/something/"; 
    String sub =s.substring(0, s.lastIndexOf("/")); 
    System.out.println(sub.substring(0,sub.lastIndexOf("/")+1)); 
+0

Это почти нормально, но он снимает «\ что-то \» вместо «что-то \ "как это должно. – Kristopher

+0

@soulreaver теперь это было бы :) – PermGenError

2

попробовать это

str = str.replaceAll("[^/]*/$",""); 

не проверял, должно работать.

0

Вы можете использовать следующий код. Это удалит последнее прошлое из вашей строки:

 String str = "/home/user/Documents/something/"; 

    Pattern pattern1 = Pattern.compile("(/.+?/)(\\w+?/$)"); 
    Matcher matcher1 = pattern1.matcher(str); 

    while (matcher1.find()) { 
     System.out.println(matcher1.group(1)); 
    } 
Смежные вопросы