当前位置: 首页 > 面试题库 >

在.txt文件中找到所有字符串“ the”

戚飞雨
2023-03-14
问题内容

这是我的代码:

// Import io so we can use file objects
import java.io.*;

public class SearchThe {
    public static void main(String args[]) {
        try {
            String stringSearch = "the";
            // Open the file c:\test.txt as a buffered reader
            BufferedReader bf = new BufferedReader(new FileReader("test.txt"));

            // Start a line count and declare a string to hold our current line.
            int linecount = 0;
                String line;

            // Let the user know what we are searching for
            System.out.println("Searching for " + stringSearch + " in file...");

            // Loop through each line, stashing the line into our line variable.
            while (( line = bf.readLine()) != null){
                // Increment the count and find the index of the word
                linecount++;
                int indexfound = line.indexOf(stringSearch);

                // If greater than -1, means we found the word
                if (indexfound > -1) {
                    System.out.println("Word was found at position " + indexfound + " on line " + linecount);
                }
            }

            // Close the file after done searching
            bf.close();
        }
        catch (IOException e) {
            System.out.println("IO Error Occurred: " + e.toString());
        }
    }
}

我想在test.txt文件中找到一些单词 “ the” 。问题是当我找到第一个 “ the”时 ,我的程序停止寻找更多东西。

当诸如 “ then” 之类的单词被我的程序理解为 “ the” 一词时。


问题答案:

不区分大小写地使用Regexes,并使用单词边界查找“ the”的所有实例和变体。

indexOf("the")无法区分 “ the”“ then”, 因为它们均以“ the”开头。同样,“ the”位于
anathema”
的中间。

为避免这种情况,请使用正则表达式并搜索“ the”,并\b在其两边带有单词边界()。使用单词边界,而不是在“”上分割,或者仅使用indexOf(" the ")找不到 “ the”的 (两边的空格) 以及标点符号旁边的其他实例。您也可以不区分大小写地搜索 “ The”

Pattern p = Pattern.compile("\\bthe\\b", Pattern.CASE_INSENSITIVE);

while ( (line = bf.readLine()) != null) {
    linecount++;

    Matcher m = p.matcher(line);

    // indicate all matches on the line
    while (m.find()) {
        System.out.println("Word was found at position " + 
                       m.start() + " on line " + linecount);
    }
}


 类似资料:
  • 问题内容: 假设我有一个包含以下内容的txt文件: 用户将输入一个字符串,例如“ omar”。我希望程序在该txt文件中搜索字符串“ omar”,如果该字符串不存在,则仅显示“不存在”。 我尝试了String.endsWith()或String.startsWith()函数,但该函数显示3次“不存在”。 我仅在3周前才开始使用Java,所以我是个新手……请多多包涵。谢谢。 问题答案: 只需阅读此文

  • 我面临的问题是,我必须将一个更大的html和javascript项目翻译成几种语言。html的内容没有问题,但是大量的javascript文件是有问题的,因为我在开发过程中有点懒。例如,如果我需要一个消息文本,我只是把它添加在有关的位置。 我现在的方法是,我对每一次出现的和,都使用内置文件搜索(Eclipse),这将非常耗时,错误不可避免。 以下是文件中出现的一些示例: 有时我混合使用和,有时一个

  • 问题内容: 我正在寻找将某些字符串搜索到某些文件夹结构中的最快方法。我知道可以使用file_get_contents从文件中获取所有内容,但是我不确定是否很快。也许已经有一些可以快速运行的解决方案。我正在考虑使用scandir获取所有文件,并使用file_get_contents读取其内容,并使用strpos来检查字符串是否存在。 您认为这样做有更好的方法吗? 或者也许试图与grep一起使用php

  • 问题内容: 我有一个字符串,单击按钮时需要将其下载到文件中。如何使用React来实现呢? 问题答案: 这是一个工作示例。在输入字段中输入文本,然后单击,这将下载包含您在输入中输入的内容的。 此解决方案创建了一个新的MIME类型的 Blob对象 ,并将其附加到临时anchor()元素的,然后以编程方式触发该元素。 Blob对象代表不可变的原始数据的类似文件的对象。Blob表示的数据不一定是JavaS

  • 本文向大家介绍python在TXT文件中按照某一字符串取出该字符串所在的行方法,包括了python在TXT文件中按照某一字符串取出该字符串所在的行方法的使用技巧和注意事项,需要的朋友参考一下 主要流程:读取文件数据——将每一行数据分成不同的字符段——在判断 在某个字否段是否含与某个字符。(只是其中一种办法) 代码如下: 以上这篇python在TXT文件中按照某一字符串取出该字符串所在的行方法就是小

  • 本文向大家介绍在C ++中查找所有好的字符串,包括了在C ++中查找所有好的字符串的使用技巧和注意事项,需要的朋友参考一下 假设我们有两个字符串s1和s2。这些字符串的大小为n,我们还有另一个字符串称为evil。我们必须找到好字符串的数量。 如果字符串的大小为n,则按字母顺序大于或等于s1,按字母顺序小于或等于s2,并且作为子字符串不包含邪恶,则该字符串称为良。答案可能非常大,因此请以10 ^ 9