2017-01-03 12 views
1
final String remove = " " // tab is 3 spaces 

while (lineOfText != null) 
    { 
     if (lineOfText.contains(remove)) 
     { 
      lineOfText = " "; 
     } 
     outputFile.println(lineOfText); 
     lineOfText = inputFile.readLine(); 
    } 

これを実行しようとしましたが、タブを1つの空白で置き換えません。どんな解決策ですか?タブを空白に置き換えてください

+1

あなた 'remove'変数が3つのスペースです、それはタブではありません。タブは '" \ t "'のようなものです。また、 'lineOfText =" ";' 'lineOfText'の文字列全体を1つの空白に置き換えます。 –

答えて

5

タブは3つのスペースではありません。それは具体的には、final String remove = "\t";

if (lineOfText.contains(remove)) 
    lineOfText = lineOfText.replaceAll(remove, " "); 
} 

または削除をエスケープし得る特殊文字です ifreplaceAllので、それを必要としない)のような、

lineOfText = lineOfText.replaceAll(remove, " "); 
+2

regexを使用していない場合は、' replace() 'を使います。 – shmosel

+0

ありがとうございます! Shmosel、正規表現とは何ですか? – ChosenForWorlds

+0

@ChosenForWorlds Regexは正規表現です。これは、すべての実際の文字の組み合わせを具体的に列挙することなく、文字のパターンを表現する一般的な方法です。 – Charles

関連する問題