有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何从textfield和filecont表达式中删除空格

我一直在研究各种各样的问题,比如“如何删除空格”,我得到了它的基本知识,问题是我找不到一种方法在我的代码中完成它,因为“仅仅”添加一个函数来删除空格有点棘手

public static ArrayList<String> searchForSong(String path) {
    ArrayList<String> matchingFiles = new ArrayList<String>();
    File folder = new File(path);
    File[] files = folder.listFiles();
    for (File f : files) {
        if (f.isFile()) {
            try {
                FileInputStream fis = new FileInputStream(
                        f.getAbsolutePath()); // laver en stream baseret på
                // en fil
                int b; // til at putte bytes i
                StringBuilder fileCont = new StringBuilder(); // for at
                // sætte
                // bytes'ne
                // sammen
                // til en
                // string

                while ((b = fis.read()) != -1) // så længe den ikke er -1
                // (EOF).. læs!
                {
                    fileCont.append((char) b);// put byten i stringbuilderen
                }
                // System.out.println(fileCont.toString()); //skriv
                // string'en/filens indhold ud..
                if (fileCont.toString().toLowerCase().contains(jTextFieldSearch.getText().toLowerCase())) {
                    matchingFiles.add(f.getAbsolutePath());
                }
            } catch (FileNotFoundException e) { // skal på, fordi
                // FileInputStream smider
                // FileNotFoundException
                e.printStackTrace();
            } catch (IOException e) { // skal på, fordi fis.read() smider
                // IOException
                e.printStackTrace();
            }
        }
    }
    return matchingFiles;
}

在这段代码中,我希望有两个字符串删除了它们的空格,一个叫做fileCont.toString()jTextFieldSearch.getText

有人能帮忙吗?那太好了


共 (2) 个答案

  1. # 1 楼答案

    像这样改变你的立场

    if (fileCont.toString().replaceAll("\\s","").toLowerCase().contains(jTextFieldSearch.getText().replaceAll("\\s","").toLowerCase())) {
        matchingFiles.add(f.getAbsolutePath());
    }
    
  2. # 2 楼答案

    要仅删除前导/尾随空格,可以使用trim:fileCont.toString().trim();

    要删除字符串中所有的空格,可以使用replace:fileCont.toString().replaceAll("\\s","");