2016-06-29 5 views
-1

私の友人は自分のコンピュータサイエンスプロジェクトを終了しようとしていますが、その1つは彼がそれをやり遂げるのを妨げています:StringメソッドreplaceAllが正しく動作していないようです。彼は、新しい行または戻り値(\ nまたは\ r)のすべてのインスタンスを削除し、それらを2つのスペースに置き換えたいとします。String method replaceAll(String s、String replacement)

for(int c = 0; c<bible.size(); c++){ 
    bible.get(c).getForeign().replaceAll("\\n","   "); 
    bible.get(c).getForeign().replaceAll("\\r","   "); 
} 

コード

bible.get(c).getForeign() 

テキストファイルから読み込まれている別の言語のStringを返します。このコードに何か問題はありますか?新しい行をスペースで置き換えるようには見えません。 私はStringクラスにJavaDocumentationをチェックし

replaceAll(String str, String replacement); 

のために、彼らはバックスラッシュとドル記号は、返される文字列は少し違うなるかもしれないと述べました。これを行う別の方法がありますか? ありがとうございます。

+1

は\ n''代わり – NoRelect

+0

『\\ n』はの ''使用してみてくださいリターンをreplaceAll'何を見てみましょう。 – luk2302

+0

'' \ n "'、NOT "" \\ n "'を使用してください。 '\ n'はNEW LINEを意味します。 2つのバックスラッシュが 'バックスラッシュ'を表しているので、 'n'はプレーンな文字になります。 –

答えて

0

Stringオブジェクトは不変です。結果は元のオブジェクトに保存されません。あなたが戻って保存することができますStringオブジェクトを返しますが好きreplaceAll()次の:

bible.get(c).setForeign(bible.get(c).getForeign().replaceAll("\\n","   ")); 
+0

*質問が閉じられた後、どのように回答を投稿することができましたか? :O – luk2302

+0

それは本当に奇妙な同時発生!私はその記事を見たときに答えを書くようになった。私が「投稿の回答」をクリックする頃には、それは閉じられましたが、回答は提出されました。この現象は非常にまれです! :) –

+0

@ luk2302締め切り後も投稿可能な猶予期間があります。 [実際にはかなり長い](http://meta.stackoverflow.com/questions/252711/this-answer-was-posted-after-the-question-was-closed-how-is-that-possible)。 – Tunaki

関連する問題