[英]How to get a part of a string in java?
基本上,我有以下字符串:
/path/to/Pbox01/file1_#$%encryp
/path/to/Pbox01/file4_#$%encryp
/path/to/Pbox02/file2_#$%encryp
而且我想每次迭代只獲取file1
, file4
, file2
。 這些是文件名,它們可以是任何文件名(例如file
, stack
, blahblahblah
。首先,我想在最后一個斜杠之后得到這部分-這是我遇到最大問題的部分。結尾是固定的,所以我想修剪_#$%encryp,它是10個字符-為此,我將使用:
public String removeLastChar(String s) {
if (s == null || s.length() == 0) {
return s;
}
return s.substring(0, s.length()-10);
}
因此,總而言之,問題是:如何獲取最后一個/
之后的字符串部分?
我認為您可能會使用String.lastIndexOf(int)
這樣,
public String removeLastChar(String s) {
if (s == null || s.length() == 0) {
return s;
}
return s.substring(s.lastIndexOf('/') + 1, s.length() - 10);
}
public void changetomain(String [] args) {
ArrayList<String> paths = new ArrayList<String>();
paths.add("/path/to/Pbox01/file1_#$%encryp");
paths.add("/path/to/Pbox01/file2_#$%encryp");
paths.add("/path/to/Pbox01/file4_#$%encryp");
ArrayList<String> filenames = getFilenames(paths);
}
private ArrayList<String> getFilenames(ArrayList<String> paths) {
ArrayList<String> filenames = new ArrayList<String>();
for(String path : paths) {
String filename = path.substring(path.lastIndexOf("/") + 1, path.indexOf("_"));
filenames.add(filename);
}
return filenames;
}
也許您可以使用類似的方法,
String[] strArray = str.split("/");
然后僅獲取數組中的最后一個值以進行進一步處理。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.