【问题标题】:Search String in an arrayed text file在数组文本文件中搜索字符串
【发布时间】:2013-01-08 15:35:10
【问题描述】:

我拿了一个文本文件并将它放在一个数组中。但是,我想在数组中搜索一个字符串(单词)。就我而言,我想使用扫描仪从用户那里获取输入,然后在数组中搜索字符串匹配。怎样才能完成这样的任务?

public static void main(String[]args) throws IOException
{
    //Scanner scan = new Scanner(System.in);
    //String stringSearch = scan.nextLine();
    List<String> words = new ArrayList<String>();
    BufferedReader reader = new BufferedReader(new FileReader("File1.txt"));
    String line;
    while ((line = reader.readLine()) != null) {
                    words.add(line);        
        }
        reader.close();
        System.out.println(words);
}

我的输出:

[CHAPTER I. Down the Rabbit-Hole, Alice was beginning to get very tired of sitting by her sister on the, bank, and of having nothing to do:]

【问题讨论】:

    标签: java arrays algorithm search


    【解决方案1】:

    您可以使用 List 中的 .contains() 函数。它将在每个元素上使用参数的 .equals() 方法

    words.contains("your_string")
    

    刚刚意识到您正在为每个索引保存一行,而不是一个单词。在这种情况下:

    for(String sLine : words) {
        if (sLine.contains("your_string")) {
             System.out.println("Got a match");
             break;
         }
     }
    

    【讨论】:

      【解决方案2】:
      for(int i = 0; i < words.size(); i++){
        if(words.get(i).equals(string)){
           found!!
        }
      }
      

      【讨论】:

      • 他在不拆分的情况下添加总行数。改用 String.contains
      【解决方案3】:

      其他人建议的equals()方法只有在你每行一个单词的情况下才有效。尝试遍历列表并查看一个(或多个)字符串contains(word) 是否是您要查找的单词?

      【讨论】:

        【解决方案4】:

        你可以像这样用扫描仪做一些事情

        Scanner sc = new Scanner(new File("File1.txt"));
        String targetString = "whatYouWant";
        String testString = sc.next();
        while(sc.hasNext())
        {
            if(testString.equals(targetString))
                hooray!
        }
        

        这不是一个完整的解决方案,但希望它能指导您找到一个可行的解决方案。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-12-10
          • 1970-01-01
          • 2021-04-29
          • 2015-11-02
          • 2019-10-24
          相关资源
          最近更新 更多