-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 に答える