【发布时间】:2014-11-12 21:56:15
【问题描述】:
基本上,我有这些字符串:
/path/to/Pbox01/file1_#$%encryp
/path/to/Pbox01/file4_#$%encryp
/path/to/Pbox02/file2_#$%encryp
我只想为每次迭代获得file1、file4、file2。这些是文件名,它们可以是任何东西(比如file、stack、blahblahblah。首先我想得到最后一个斜线之后的部分——这是我遇到最大问题的部分。结尾是hardset,所以我想修剪 _#$%encryp,它是 10 个字符 - 为此我将使用:
public String removeLastChar(String s) {
if (s == null || s.length() == 0) {
return s;
}
return s.substring(0, s.length()-10);
}
所以,总而言之,问题是:我怎样才能得到最后一个/之后的字符串部分?
【问题讨论】:
-
鉴于它是一个文件名,我会以
java.io.File开头。或者,String.lastIndexOf和String.substring,如果你真的想的话。 -
它是一个文件名,但我并不是真正处理文件,而是文件名或文件路径,这就是我不考虑
java.io.File的原因。我的思路有问题吗? -
是的,因为
java.io.File正是一个抽象文件名。它不需要文件存在。 -
谢谢。我将使用 lastIndexOf,不过还是谢谢你,我以后可能也会使用你的建议。