Java
 Computer >> コンピューター >  >> プログラミング >> Java

Javaでテキストファイル(.txt)内の文字列を削除する方法|replaceAll()の使い方を解説


replaceAll()メソッドは、正規表現と置換後の文字列を引数として受け取ります。呼び出すと、対象の文字列全体が指定された正規表現と照合され、一致した部分がすべて引数の文字列に置き換えられます。この仕組みを利用すれば、ファイル内の特定の文字列を簡単に削除できます。

replaceAll()メソッドを使ってファイルから特定の文字列を削除する手順は、次の通りです。

  • ファイルの内容を文字列として読み込む

  • replaceAll()メソッドで、削除したい単語を空文字列に置き換える

  • 置き換え後の文字列を元のファイルに書き戻す

サンプルコード

import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.Scanner;
public class StringExample {
    public static String fileToString(String filePath) throws Exception{
        String input = null;
        Scanner sc = new Scanner(new File(filePath));
        StringBuffer sb = new StringBuffer();
        while (sc.hasNextLine()) {
            input = sc.nextLine();
            sb.append(input);
        }
        return sb.toString();
    }
    public static void main(String args[]) throws FileNotFoundException {
        String filePath = "D://sample.txt";
        String result = fileToString(filePath);
        System.out.println("ファイルの内容: " + result);
        //削除したい単語を空文字列に置き換え
        result = result.replaceAll("\\bTutorialspoint\\b", "");
        //置き換え後の内容をファイルに書き戻す
        PrintWriter writer = new PrintWriter(new File(filePath));
        writer.append(result);
        writer.flush();
        System.out.println("削除後のファイルの内容:");
        System.out.println(fileToString(filePath));
    }
}

実行結果

ファイルの内容: Hello how are you welcome to Tutorialspoint
削除後のファイルの内容:
Hello how are you welcome to

コードのポイント

  • 正規表現の\b(単語境界):\bは単語の境界にマッチするメタ文字です。\bTutorialspoint\bと指定することで、完全に一致する単語のみが削除対象となり、他の単語の一部として含まれる場合は除外されます。
  • 改行の扱い:このサンプルではnextLine()で読み込んだ行をそのまま連結しているため、複数行のファイルでは改行が失われます。必要に応じてsb.append(input + "\n")のように改行を追加してください。
  • 例外処理:ファイル操作ではFileNotFoundExceptionなどの例外が発生する可能性があります。実務ではtry-catchやtry-with-resources構文を使い、リソースを確実にクローズすることを推奨します。
  • Java 11以降の場合:Files.readString()とFiles.writeString()を使えば、ファイルの読み書きをより簡潔に記述できます。
  1. Javaで既存のJSONファイルにJSON文字列を追加する方法【Gson活用ガイド】

    GsonはJava向けの代表的なJSONライブラリで、JSONデータの生成や解析に幅広く利用されています。既存のJSONファイルに新しいJSON文字列を追加するには、いくつかのステップを踏む必要があります。 処理の流れ 基本的な手順は以下のとおりです。 JSONファイルを読み込み、Javaオブジェクトとしてパースします。 JavaオブジェクトをJsonObjectに型キャストし、さらにJsonArrayとして取得します。 JSON配列を反復処理しながら、各JsonElementを出力します。 JsonWriterクラスを使用すると、JSONエンコードされた値を1トークンずつストリームへ書き込

  2. 【Java入門】Gsonライブラリを使ってJSON文字列をファイルに書き込む方法

    GsonライブラリとはGsonは、JavaオブジェクトをJSON形式に変換(シリアライズ)するためのGoogle製オープンソースライブラリです。逆に、JSON文字列からJavaオブジェクトへの変換(デシリアライズ)も簡単に行えるため、JavaでJSONを扱う際の定番ライブラリとして広く利用されています。Gsonを使用する際の中心的なクラスはGsonクラスです。インスタンスはnew Gson()のように直接生成できますが、設定をカスタマイズしたい場合はGsonBuilderクラスを使ってGsonインスタンスを作成することも可能です。この記事では、Gsonクラスが提供するtoJson()メソッドを