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()を使えば、ファイルの読み書きをより簡潔に記述できます。
-
Javaで既存のJSONファイルにJSON文字列を追加する方法【Gson活用ガイド】
GsonはJava向けの代表的なJSONライブラリで、JSONデータの生成や解析に幅広く利用されています。既存のJSONファイルに新しいJSON文字列を追加するには、いくつかのステップを踏む必要があります。 処理の流れ 基本的な手順は以下のとおりです。 JSONファイルを読み込み、Javaオブジェクトとしてパースします。 JavaオブジェクトをJsonObjectに型キャストし、さらにJsonArrayとして取得します。 JSON配列を反復処理しながら、各JsonElementを出力します。 JsonWriterクラスを使用すると、JSONエンコードされた値を1トークンずつストリームへ書き込
-
【Java入門】Gsonライブラリを使ってJSON文字列をファイルに書き込む方法
GsonライブラリとはGsonは、JavaオブジェクトをJSON形式に変換(シリアライズ)するためのGoogle製オープンソースライブラリです。逆に、JSON文字列からJavaオブジェクトへの変換(デシリアライズ)も簡単に行えるため、JavaでJSONを扱う際の定番ライブラリとして広く利用されています。Gsonを使用する際の中心的なクラスはGsonクラスです。インスタンスはnew Gson()のように直接生成できますが、設定をカスタマイズしたい場合はGsonBuilderクラスを使ってGsonインスタンスを作成することも可能です。この記事では、Gsonクラスが提供するtoJson()メソッドを