アプリ版:「スタンプのみでお礼する」機能のリリースについて

test.txt

AAA+あいうえお
BBB+かきくけこ
CCC+さしすせそ
DDD+たちつてと
EEE+なにぬねの

上記(test.txt)のようなテキストファイルから、各行の+以降の文字列を削除して、
以下(result.txt)のようなテキストファイルを生成させるプログラムを作成させたいです。

result.txt

AAA
BBB
CCC
DDD
EEE

このようなプログラムを作るにはどのようにすればよいでしょうか?
よろしくお願いします。

A 回答 (2件)

コレでどうでしょう。


一部break文が一行ありますが
どうしても途中エラーが発生
したので入っています。

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 str1="";
String str2="";
int j=0;

while ((str1 = br.readLine()) != null) {

for(int i=0;i<str1.length();i++){
j=str1.indexOf("+");
}
if(str1.length()==0){ break;}

str2=str1.substring(0,j);
pw.println(str2);
}

pw.close();
br.close();
}catch(IOException e){
System.out.println("IOエラー");
}
}
}
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

サンプルプログラムまで書いていただきありがとうございます。
とても参考になりました。
上記を試したところ、無事問題を解決できました。

お礼日時:2006/06/12 00:14

回答をベタで書くと「回答者に作業依頼」したことになって削除対象となってしまう可能性があるのでヒントだけ。



BufferedReader というクラスを使ってファイルを指定します。
readLine() というメソッドを使ってテキストファイルからデータを取り出し。

String aaa = "AAA+あいうえお";
String bbb = aaa.replaceAll("\\+.*", "");

こーんな感じで+文字以降の文字を削除します。
replaceAll で正規表現を使って文字削除すれば一発。
正規表現を勉強すればもっといろいろ応用可能です。

BufferedWriter というクラスで文字を書き込む。

あとはこれをループして処理すればOK。
    • good
    • 0
この回答へのお礼

ありがとうございます。
とても参考になりました。
自分でも正規表現についてこれから勉強していきます。

お礼日時:2006/06/12 00:11

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!