2017-03-27 10 views
1

javaのtxtファイルの単語を置き換えたいと思います。私はすでに私の正規表現とjavaからtxtファイルを読むための方法を持っています。しかし、私はmu regualar表現を使用してそれから単語を置き換える方法がわかりません。txtファイルの単語をJavaの正規表現に置き換える方法

提案や例はありますか?

+0

たぶん、このスレッドhttp://stackoverflow.com/questions/632204/java-string-replace-に新しいテキストを書き込みます正規表現を使用するとあなたを助けるでしょうか? –

+0

regexを使ってファイルではなく文字列を変更することができます。ファイルからテキストを読み込んで文字列に変換し、正規表現を適用してから文字列をファイルに保存するには、他のツールが必要です。したがって、ファイルからテキストを読み込むために適切な読者が必要であり、テキストをファイルに書き込むためにライターが必要です。 – Pshemo

+0

[javaを使用してテキストファイル内の単語を検索して置き換える]の可能な複製(http://stackoverflow.com/questions/29056132/find-and-replace-words-in-a-text-file-using-java) – Seymore

答えて

0

ファイルを1つの文字列に解析します。次に、単語のすべてのインスタンスを新しい単語に置き換えます。

String response = "test string".replaceAll("regex here", "new text"); 

次に、ファイル

FileWriter writer = new FileWriter("out.txt"); 
writer.write(response); 
2
public class BTest 
{ 
public static void main(String args[]) 
    { 
    try 
     { 
     File file = new File("file.txt"); 
     BufferedReader reader = new BufferedReader(new FileReader(file)); 
     String line = "", oldtext = ""; 
     while((line = reader.readLine()) != null) 
      { 
      oldtext += line + "\r\n"; 
     } 
     reader.close(); 
     // replace a word in a file 
     String newtext = oldtext.replaceAll("drink", "Love"); 

     //To replace a line in a file 
     //String newtext = oldtext.replaceAll("This is test string 20000", "blah blah blah"); 

     FileWriter writer = new FileWriter("file.txt"); 
     writer.write(newtext);writer.close(); 
    } 
    catch (IOException ioe) 
     { 
     ioe.printStackTrace(); 
    } 
} 

}

+2

このために 'Strings'を使用しないでください。特に大容量ファイルの場合は、**恐ろしい**のパフォーマンスがあります。少なくともStringBuilderを使用してください。 –

+0

はい、ファイルサイズが超える文字列の代わりにStringbuilderを使用できます。 –

関連する問題