-2

让我们有这个字符串,例如:

"C:\Users\User\workspace\Iterator\src\Iterate_Choose.java"
"C:\Users\User\workspace\Iterator\src\testing.java"

如何在 src\ 之后和 .java 之前获取字符串。输出应该是这样的:

Iterate_choose
testing

我尝试寻找正则表达式,但找不到符合这种情况的正则表达式。

4

4 回答 4

1

我会使用正则表达式:

    String outStr = Pattern.compile(".+src\\([^.]+)\.java")
                           .matcher("...\src\Iterate_Choose.java")
                           .find() ? m.group(1) 
                                   : null;
于 2013-02-03T09:12:40.643 回答
0

如果不需要,请不要使用正则表达式。

String getFileName(String path) {
    int lastSlashIndex = path.lastIndexOf("\\");
    int dotIndex = path.indexOf(".", lastSlashIndex);

    return path.substring(lastSlashIndex, dotIndex)
}
于 2013-02-02T17:12:32.907 回答
0

您可以使用正则表达式或查找相关部分的位置:

    int pos1 = s.indexOf("src\\");
    int pos2 = s.lastIndexOf(".java");
    String result = s.substring(pos1 + 4, pos2);
于 2013-02-02T17:13:24.010 回答
0

您可以使用子字符串:

String s1 = "C:\Users\User\workspace\Iterator\src\Iterate_Choose.java";
String s = s1.substring(s1.lastIndexOf("\\"),s1.lastIndexOf("."));

是不是很简单。

于 2013-02-02T17:13:24.633 回答