簡體   English   中英

如何在Java中獲取字符串的一部分?

[英]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

而且我想每次迭代只獲取file1file4file2 這些是文件名,它們可以是任何文件名(例如filestackblahblahblah 。首先,我想在最后一個斜杠之后得到這部分-這是我遇到最大問題的部分。結尾是固定的,所以我想修剪_#$%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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM