【问题标题】:How to get a part of a string in java?如何在java中获取字符串的一部分?
【发布时间】:2014-11-12 21:56:15
【问题描述】:

基本上,我有这些字符串:

/path/to/Pbox01/file1_#$%encryp
/path/to/Pbox01/file4_#$%encryp
/path/to/Pbox02/file2_#$%encryp

我只想为每次迭代获得file1file4file2。这些是文件名,它们可以是任何东西(比如filestackblahblahblah。首先我想得到最后一个斜线之后的部分——这是我遇到最大问题的部分。结尾是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.lastIndexOfString.substring,如果你真的想的话。
  • 它是一个文件名,但我并不是真正处理文件,而是文件名或文件路径,这就是我不考虑java.io.File 的原因。我的思路有问题吗?
  • 是的,因为java.io.File 正是一个抽象文件名。它不需要文件存在
  • 谢谢。我将使用 lastIndexOf,不过还是谢谢你,我以后可能也会使用你的建议。

标签: java string


【解决方案1】:

我想你可能会使用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);
}

【讨论】:

    【解决方案2】:
    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;
    }
    

    【讨论】:

      【解决方案3】:

      也许你可以使用这样的东西,

      String[] strArray = str.split("/");
      

      然后只取数组中的最后一个值进行进一步处理。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-07-20
        • 2015-02-02
        • 2020-10-12
        • 1970-01-01
        • 1970-01-01
        • 2013-04-18
        • 2012-09-27
        相关资源
        最近更新 更多