如何在Java中获取字符串中的字符无论字符串大小如何

时间:2013-02-02 17:07:10

标签: java string

让我们以String为例:

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

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

Iterate_choose
testing

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

4 个答案:

答案 0 :(得分:1)

我使用RegEx:

    String outStr = Pattern.compile(".+src\\([^.]+)\.java")
                           .matcher("...\src\Iterate_Choose.java")
                           .find() ? m.group(1) 
                                   : null;

答案 1 :(得分:0)

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

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

    return path.substring(lastSlashIndex, dotIndex)
}

答案 2 :(得分:0)

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

    int pos1 = s.indexOf("src\\");
    int pos2 = s.lastIndexOf(".java");
    String result = s.substring(pos1 + 4, pos2);

答案 3 :(得分:0)

您可以使用子字符串:

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

不是很简单。