0

重複の可能性:
拡張子なしでファイル名を取得するにはどうすればよいですか?

xmlファイルのリストがあり、拡張子なしでファイル名だけを返そうとしています。たとえば、私が持っている場合:

String filename = "hello.xml";

ファイル名が異なるという事実で「こんにちは」を返すにはどうすればよいですか?

4

3 に答える 3

2
String filenameSansExt = filename.replaceAll("\\.[^.]*", "");
于 2013-01-13T01:41:53.810 に答える
1

正規表現やその他の正規表現でsubstring()使用するよりも、使用する方が効率的です。replaceAll()

どちらの答えも満足のいくものではありません。

  • 正規表現は遅すぎますが、正しいです
  • lastIndexOf()存在しない場合は例外をスローします'.'(index -1

正解はのインデックスをチェックする必要がありlastIndexOf()ます。

于 2013-01-13T01:50:54.937 に答える
-1

Javaの文字列には部分文字列関数を使用できます。0(文字列の先頭)で開始し、最後から4番目の文字( "。")の前で終了します。

String filename = "hello.xml";
String filename2 = filename.substring(0, filename.length() - 4);
于 2013-01-13T01:47:58.987 に答える