0

好的,这就是我所拥有的

"C:\this\file\is\rev12\oh\A_12345\doll\classes"

我想从这个字符串中提取12345唯一的。

如何使用 Java Pattern.compile来完成?

4

2 回答 2

0

下面是您可以使用的代码,但是我必须将路径中的反斜杠更改为正斜杠并使用绝对路径。我还尝试更改路径“C:\\this\\file\\is\\rev12\\oh\\A_12345\\doll\\classes”以在 Windows 中使用它。您可以将“\”更改为“\\”。两个路径字符串都适用于以下代码。

File file = new java.io.File("C:/this/file/is/rev12/oh/A_12345/doll/classes").getAbsoluteFile();
    System.out.println(file.getAbsolutePath());

    Pattern pat = Pattern.compile("-?\\d+");
    Matcher mat = pat.matcher(file.getAbsolutePath());
    while (mat.find()) {
      System.out.println(mat.group());
    }
于 2012-08-03T08:52:36.393 回答
0

您应该更笼统地定义此数字的显示方式。因此,如果它在字符串中的某个位置带有前导下划线_和尾随斜杠\模式将跟随_(\d+)\\.

您的号码可以从模式匹配组中提取。 试试看

于 2012-08-03T08:38:44.773 回答