2行に分かれている単語を検索するにはどうすればよいですか?

HyperioN

.txtファイル内の単語(トランザクション番号)のリストを検索するプログラムをJavaで作成しています。.txtファイルには任意の数の行を含めることができます。

List<String> transactionList = new ArrayList<String>(
            Arrays.asList("JQ7P00049", "TM7P04797", "RT6P70037");
FileReader fileReader = new FileReader(filePath);
BufferedReader bufferedReader = new BufferedReader(fileReader);
        try {
            String readLine = bufferedReader.readLine();
            for (String transactionIndex : transactionList) {
                if (readLine != null) {
                    if (readLine.contains(transactionIndex)) {
                        System.out.println(transactionIndex + ": true");
                        readLine = bufferedReader.readLine();
                    } else {
                        readLine = bufferedReader.readLine();
                    }
                }
            }
        }

単語が2行に分割されている場合を除いて、プログラムは正常に実行されます。次に例を示します。

-------- JQ7P0
0049 ----------

これは明らかに、bufferedReaderが行ごとに読み取り、検索文字列とその行に存在するコンテンツとの比較を行うためです。

このシナリオを処理する方法はありますか?

voipdaddy

durron597が述べたように、ファイル全体をループしていませんでしたが、ファイルに少なくとも2行があり、トランザクション文字列が2行を超えないことを前提としたソリューションを次に示します。

各行を次の行に連結し、連結された行の文字列を検索します。同じトランザクションが2回印刷されるのを防ぐために、チェックを追加しました。

    List<String> transactionList = new ArrayList<String>( Arrays.asList("JQ7P00049", "TM7P04797", "RT6P70037") );
    FileReader fileReader = new FileReader(filePath);
    BufferedReader bufferedReader = new BufferedReader(fileReader);
    try {
        // Search the first line
        String lastLine = bufferedReader.readLine();
        for (String transactionIndex : transactionList) {
            if (lastLine.contains(transactionIndex)) {
                System.out.println(transactionIndex + ": true");
            } 
        }
        String currentLine = null;

        // Search the remaining lines
        while((currentLine=bufferedReader.readLine()) != null) {
            String combined = lastLine + currentLine;
            for (String transactionIndex : transactionList) {
                if (currentLine.contains(transactionIndex) || (!lastLine.contains(transactionIndex) && combined.contains(transactionIndex))) {
                    System.out.println(transactionIndex + ": true");
                } 
            }
            lastLine = currentLine;
        }

    } catch ( Exception e ) {
        System.out.println( e.getClass().getSimpleName() + ": " + e.getMessage() );
    } finally {
        bufferedReader.close();
    }

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

LINQを使用して単語検索を実行するにはどうすればよいですか?

分類Dev

他の単語に似た単語を検索するにはどうすればよいですか?

分類Dev

jqueryを使用して文字列内の単語を検索するにはどうすればよいですか?

分類Dev

文字列内の単語(単語のみ)を検索するにはどうすればよいですか?

分類Dev

PostgreSQL全文検索:「単語区切り文字」として分類されるものを変更するにはどうすればよいですか?

分類Dev

Elasticsearchで関連する単語を検索するにはどうすればよいですか?

分類Dev

awkまたはsedを使用して単語のリストを検索し、新しい行に挿入するにはどうすればよいですか?

分類Dev

崇高な2つ(またはそれ以上)の特定の単語を含む行を検索するにはどうすればよいですか?

分類Dev

vimで正規表現を使用して2つの連続する単語を検索するにはどうすればよいですか?

分類Dev

単語数を検証するにはどうすればよいですか?

分類Dev

Python:.txtファイルで単語全体を検索するにはどうすればよいですか?

分類Dev

Pythonで適切な単語検索を作成するにはどうすればよいですか?

分類Dev

文字列で複数の単語を検索するにはどうすればよいですか

分類Dev

ファイル内の特定の単語を検索して、何かを実行するにはどうすればよいですか?

分類Dev

特定の単語を含むファイルを検索するにはどうすればよいですか?

分類Dev

2Dリストで単語を検索し、行番号、列番号、方向を含むタプルを作成するにはどうすればよいですか?

分類Dev

VBAを使用してExcelで単語を検索し、行全体を削除するにはどうすればよいですか?

分類Dev

Word 2007 .docxファイル内の単語を検索するにはどうすればよいですか?

分類Dev

リポジトリ内の単語を検索するにはどうすればよいですか?

分類Dev

列Aに検索された単語が含まれている場合、列Bの値を追加/置換するにはどうすればよいですか?

分類Dev

Vimで開いているすべてのタブで現在の単語を検索するにはどうすればよいですか?

分類Dev

Pythonで辞書の辞書として表されているツリーで単語を検索するにはどうすればよいですか?

分類Dev

sedで保留スペースに保存されている単語を検索するにはどうすればよいですか?

分類Dev

単語検索ゲーム。グリッドを検索して結果を強調表示するにはどうすればよいですか?

分類Dev

前の行を検索するにはどうすればよいですか?

分類Dev

特別な単語が3回含まれているドキュメントを検索するにはどうすればよいですか?

分類Dev

BSTで単語を検索したときに、単語が表示される時間を見つけるにはどうすればよいですか。

分類Dev

Pytrends:検索語ではなくトピックとして単語を指定するにはどうすればよいですか?

分類Dev

同じ行で同じ単語の複数の重複するオカレンスを検索するにはどうすればよいですか?

Related 関連記事

  1. 1

    LINQを使用して単語検索を実行するにはどうすればよいですか?

  2. 2

    他の単語に似た単語を検索するにはどうすればよいですか?

  3. 3

    jqueryを使用して文字列内の単語を検索するにはどうすればよいですか?

  4. 4

    文字列内の単語(単語のみ)を検索するにはどうすればよいですか?

  5. 5

    PostgreSQL全文検索:「単語区切り文字」として分類されるものを変更するにはどうすればよいですか?

  6. 6

    Elasticsearchで関連する単語を検索するにはどうすればよいですか?

  7. 7

    awkまたはsedを使用して単語のリストを検索し、新しい行に挿入するにはどうすればよいですか?

  8. 8

    崇高な2つ(またはそれ以上)の特定の単語を含む行を検索するにはどうすればよいですか?

  9. 9

    vimで正規表現を使用して2つの連続する単語を検索するにはどうすればよいですか?

  10. 10

    単語数を検証するにはどうすればよいですか?

  11. 11

    Python:.txtファイルで単語全体を検索するにはどうすればよいですか?

  12. 12

    Pythonで適切な単語検索を作成するにはどうすればよいですか?

  13. 13

    文字列で複数の単語を検索するにはどうすればよいですか

  14. 14

    ファイル内の特定の単語を検索して、何かを実行するにはどうすればよいですか?

  15. 15

    特定の単語を含むファイルを検索するにはどうすればよいですか?

  16. 16

    2Dリストで単語を検索し、行番号、列番号、方向を含むタプルを作成するにはどうすればよいですか?

  17. 17

    VBAを使用してExcelで単語を検索し、行全体を削除するにはどうすればよいですか?

  18. 18

    Word 2007 .docxファイル内の単語を検索するにはどうすればよいですか?

  19. 19

    リポジトリ内の単語を検索するにはどうすればよいですか?

  20. 20

    列Aに検索された単語が含まれている場合、列Bの値を追加/置換するにはどうすればよいですか?

  21. 21

    Vimで開いているすべてのタブで現在の単語を検索するにはどうすればよいですか?

  22. 22

    Pythonで辞書の辞書として表されているツリーで単語を検索するにはどうすればよいですか?

  23. 23

    sedで保留スペースに保存されている単語を検索するにはどうすればよいですか?

  24. 24

    単語検索ゲーム。グリッドを検索して結果を強調表示するにはどうすればよいですか?

  25. 25

    前の行を検索するにはどうすればよいですか?

  26. 26

    特別な単語が3回含まれているドキュメントを検索するにはどうすればよいですか?

  27. 27

    BSTで単語を検索したときに、単語が表示される時間を見つけるにはどうすればよいですか。

  28. 28

    Pytrends:検索語ではなくトピックとして単語を指定するにはどうすればよいですか?

  29. 29

    同じ行で同じ単語の複数の重複するオカレンスを検索するにはどうすればよいですか?

ホットタグ

アーカイブ