
テキストファイルの任意の単語を含む一行を削除させるプログラムを作成したいです。
例えば、
test.txt
今日は久しぶりに晴れました。
とてもいい天気だったので、ショッピングに。
その後、アップルストアにて新発売のMacを触ってきました。
上記のようなテキストファイル(test.txt)に対して、
データベース等に格納されている単語のリストと参照させ、
リストにある単語を含んでいる行を削除させたテキストファイルを生成させたいです。
例えば、リストに"天気"の単語があれば、
以下のようなテキストファイルを生成させたいです。
result.txt
今日は久しぶりに晴れました。
その後、アップルストアにて新発売のMacを触ってきました。
このようにするには、どのようにプログラムを作成すればよいでしょうか?
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
データベースから拾ってくる方法は考えてください。
"天気”という文字列がない行のみresult.txtに吐き出しています。
import java.io.*;
import java.util.*;
class Editor100 {
public static void main(String args[]){
try{
BufferedReader reader = new BufferedReader(new FileReader("text.txt"));
PrintWriter writer = new PrintWriter(new BufferedWriter(new FileWriter("result.txt")));
String line;
while((line = reader.readLine())!= null){
if((line.indexOf("天気"))==-1){
writer.println(line);
}
}
reader.close();
writer.close();
}
catch(IOException e){
System.out.println(e);
}
}
}
No.3
- 回答日時:
#2さんのindexOfをsubstringにしてみました。
import java.io.*;
public class Sample {
public static void main(String[] args){
try{
BufferedReader br=
new BufferedReader(new FileReader("C:\\test.txt"));
PrintWriter pw=
new PrintWriter(new BufferedWriter(new FileWriter("C:\\result.txt")));
String str;
int flag=0;
while ((str = br.readLine())!= null) {
if(str.length()==0){ break;}
flag=0;
for(int i=0;i<str.length()-2;i++){
if(str.substring(i,i+2).equals("天気")){
flag=1;
}
}
if(flag==0){
pw.println(str);
}
}
pw.close();
br.close();
}catch(IOException e){
System.out.println("IOエラー");
}
}
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
InputStream.read()でタイムア...
-
equalsの逆
-
JAVAでエラーがでる。
-
以下のJAVAプログラムでご質問...
-
java連結
-
C言語のポインターに関する警告
-
System.err. printlnとSystem.o...
-
JavaScriptの変数をjavaのメソ...
-
ORA-01858: 数値を指定する箇所...
-
VBAで配列の計算
-
javaで質問です。 文字列2023/2...
-
JScrollPaneで、表示がおかしく...
-
JavaScriptを使ってロト6の当...
-
streamで送信されたArrayListを...
-
JavaScriptとVBScriptに関して
-
IF関数でEmpty値を設定する方法。
-
動的配列が存在(要素が有る)か...
-
ループ処理の際、最後だけ","を...
-
オブジェクトの中のプロパティ...
-
1~100までの数字を表示したい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
csv出力について
-
yyyymmddからyyyy/mm/d...
-
テキストファイルから空白行をよむ
-
BufferedReaderでのエラー
-
Javaの質問です。テキストファ...
-
equalsの逆
-
戻り値を使用する呼出
-
JAVAでエラーがでる。
-
FileクラスのcanRead/canWrite...
-
Java 出席状況を表す文字列から...
-
Javaでデータに登録する度にID...
-
ファイルの読み飛ばしが出来ま...
-
九九を横に表示する。
-
javaのfor文が機能してないみた...
-
Javaの質問です。テキストファ...
-
Servletでテキストボックスに入...
-
java連結
-
java.lang.NoClassDefFoundErro...
-
拡張子の読み込み制限を設けた...
-
[JAVA]エラーが解決できません。
おすすめ情報