我这里有一个问题,我有一个包含值 C:\Users\Ewen\AppData\Roaming\MyProgram\Test.txt 的字符串,我想删除 C:\Users\Ewen\AppData\Roaming\MyProgram \ 这样就只剩下 Test 了。所以问题是,我怎样才能删除字符串的任何部分。
谢谢你的时间!:)
如果您严格使用文件路径,请试试这个
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('.')));
请参阅此以获取更多信息。
班级拥有所有必要的String
权力来处理这个问题。您可能感兴趣的方法:
String.split()
, String.substring()
,String.lastIndexOf()
此处描述了这 3 个以及更多:http: //docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html
考虑一下,你很快就会让它工作:)。
我建议使用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
。