6

ここで問題があります。C:\Users\Ewen\AppData\Roaming\MyProgram\Test.txt の値を含む文字列があり、C:\Users\Ewen\AppData\Roaming\MyProgram を削除したい\ Test だけが残るようにします。問題は、文字列の一部を削除するにはどうすればよいかということです。

御時間ありがとうございます!:)

4

3 に答える 3

6

ファイルパスを厳密に使用している場合は、これを試してください

String path = "C:\\Users\\Ewen\\AppData\\Roaming\\MyProgram\\Test.txt";
File f = new File(path);
System.out.println(f.getName()); // Prints "Test.txt"

ありがとうございます。.txt も削除したいと思います。

それでは、これを試してください

String fName = f.getName();
System.out.println(fName.substring(0, fName.lastIndexOf('.')));

詳しくはこちらをご覧ください。

于 2012-08-09T23:59:55.677 に答える
1

Stringクラスには、これに対処するために必要なすべての力があります。あなたが興味を持っているかもしれない方法:

String.split()String.substring()String.lastIndexOf()

これら 3 つ以上については、http: //docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.htmlで説明されています。

少し考えてみると、すぐに機能するようになります:)。

于 2012-08-10T00:09:02.813 に答える
0

FilenameUtils.getBaseName(String filename)を使用することをお勧めします。このFilenameUtilsクラスはApache Commons IOの一部です。

ドキュメントによると、このメソッドは「Unix または Windows 形式のファイルを処理します」。「最後のフォワードまたはバックスラッシュの後、最後のドットの前のテキスト」が String オブジェクトとして返されます。

String filename = "C:\\Users\\Ewen\\AppData\\Roaming\\MyProgram\\Test.txt";
String baseName = FilenameUtils.getBaseName(filename);
System.out.println(baseName);

上記のコードはTest.

于 2016-05-12T08:10:30.577 に答える