重複の可能性:
拡張子なしでファイル名を取得するにはどうすればよいですか?
xmlファイルのリストがあり、拡張子なしでファイル名だけを返そうとしています。たとえば、私が持っている場合:
String filename = "hello.xml";
ファイル名が異なるという事実で「こんにちは」を返すにはどうすればよいですか?
重複の可能性:
拡張子なしでファイル名を取得するにはどうすればよいですか?
xmlファイルのリストがあり、拡張子なしでファイル名だけを返そうとしています。たとえば、私が持っている場合:
String filename = "hello.xml";
ファイル名が異なるという事実で「こんにちは」を返すにはどうすればよいですか?
String filenameSansExt = filename.replaceAll("\\.[^.]*", "");
正規表現やその他の正規表現でsubstring()
使用するよりも、使用する方が効率的です。replaceAll()
どちらの答えも満足のいくものではありません。
lastIndexOf()
存在しない場合は例外をスローします'.'
(index -1
)正解はのインデックスをチェックする必要がありlastIndexOf()
ます。
Javaの文字列には部分文字列関数を使用できます。0(文字列の先頭)で開始し、最後から4番目の文字( "。")の前で終了します。
String filename = "hello.xml";
String filename2 = filename.substring(0, filename.length() - 4);