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)。该类FilenameUtilsApache 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 回答