2016-04-05 2 views
0

私はいくつかの文字を持つファイルを持っていて、私は&のようないくつかのエンティティを持っています今は& &アンプの代わりに追加したいです。私はそれをすることができますか? 私はOGGIèlunedi & Domaniでèmercoledi を持っている場合、私はEが置き換えられていることを望む(&墓;)と&が置き換えられます(&アンペア;) 私はこのコードを持っていますが、一度に1つのIDでのみ動作します。.. 。ファイルのすべてのアイデンティティを変換する方法

public void genereateFile(String char_speciale, String char_sostituto, String url_scheletro_file, String url_nuovo_file){ 
      try{ 
       BufferedReader rdr = new BufferedReader(new InputStreamReader(new FileInputStream(url_scheletro_file))); 
       BufferedWriter wrt = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(url_nuovo_file))); 
       String line=rdr.readLine(); 
       while(line!= null){ 
        line=line.replaceAll(char_speciale, char_sostituto); 
        wrt.append(line); 
        wrt.newLine(); 
        line = rdr.readLine(); 
       } 
       wrt.close(); 
      }catch(Exception e){ 
       e.printStackTrace(); 
      } 
+2

あなたのサンプルの入力は次のようになりますし、必要な出力を生成するために、何の例を追加してください。 –

+0

'&'と 'à'を '_'で置き換える 文字列new_s = s.toLowerCase()。replaceAll( "[&à]"、 "_"); replaceAllは正規表現を使用し、を使用しています。文字クラス[]の中では、単にaを認識します。どのキャラクターよりもむしろ。 –

+0

あなたの質問は明確ではありません。 HTML文字をエスケープ/エスケープしようとしている場合は、http://stackoverflow.com/questions/14998726/replace-html-codes-with-equivalent-characters-in-javaで提供されるソリューションでhttps://コモンを使用することができます。 apache.org/proper/commons-lang/javadocs/api-2.6/org/apache/commons/lang/StringEscapeUtils.html – RubioRic

答えて

0

あなたの質問は明らかではないが、あなたはすべてを置き換えたい場合は「E」と「à」「&」

使用正規表現とその

として、あなたのメソッドを呼び出すことを行うために以下のような正規表現を使用して
genereateFile("[èà]", "&", url_scheletro_file, url_nuovo_file); 
0

:「」文字列

String new_s = line.toLowerCase().replaceAll("[èà]", "&"); 

replaceAllですべての「&」と「A」を交換するためには、正規表現を使用して、使用しています。文字クラス[]の中では、単にaを認識します。どのキャラクターよりもむしろ。

EDIT:

public void genereateFile(String char_sostituto, String url_scheletro_file, String url_nuovo_file){ 
      try{ 
       BufferedReader rdr = new BufferedReader(new InputStreamReader(new FileInputStream(url_scheletro_file))); 
       BufferedWriter wrt = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(url_nuovo_file))); 
       String line=rdr.readLine(); 
       while(line!= null){ 
        line=line.toLowerCase().replaceAll("[èà]", char_sostituto); 

        wrt.append(line); 
        wrt.newLine(); 
        line = rdr.readLine(); 
       } 
       wrt.close(); 
      }catch(Exception e){ 
       e.printStackTrace(); 
      } 
0

あなたは、最初の引数は正規表現であり、それはそれと一致した場合に提供する交換と交換replaceAll(regex, replacement);を使用することができます。

チェックDocs

関連する問題