1

我有以下字符串:

/home/user/Documents/something/

我想删除*/它末尾的部分。在这种情况下,这是something/. 我怎样才能用java实现呢?

4

3 回答 3

2

尝试这个

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

没有测试,应该可以。

于 2013-03-15T11:55:42.513 回答
2

您不需要正则表达式来执行此操作,以下是使用字符串操作方法的非正则表达式解决方案:

    String s = "/home/user/Documents/something/";
    String sub =s.substring(0, s.lastIndexOf("/"));
    System.out.println(sub.substring(0,sub.lastIndexOf("/")+1));
于 2013-03-15T11:57:21.333 回答
0

您可以使用以下代码。它将从您的 String 中删除最后一个过去:

        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));
    }
于 2013-03-15T12:58:49.747 回答