2016-09-29 2 views
2

なぜこれは機能しませんか?JavaのWhileループ中に文字列を置換する

while ((line = file.readLine()) != null) { 
      String myLine = line; 
      input += "[" + myLine.replace(":", "]") + '\n'; 
      } 

先頭の「[」は改行(\ n)の後に行が挿入されますが、各行に文字が挿入されても置換されません。

私は、ファイルを開き、1行ずつ読み込み、順番に各行を変更しようとしていることがわかります。文字の置換以外はすべて正常に動作します。

これは私のサンプルテキストです。

gen|1|1|בְּרֵאשִׁ֖ית בָּרָ֣א אֱלֹהִ֑ים אֵ֥ת הַשָּׁמַ֖יִם וְאֵ֥ת הָאָֽרֶץ׃ 

これは私が欲しいものです。

[gen|1|1|]בְּרֵאשִׁ֖ית בָּרָ֣א אֱלֹהִ֑ים אֵ֥ת הַשָּׁמַ֖יִם וְאֵ֥ת הָאָֽר 

これは私が得るものです。

[gen|1|1|בְּרֵאשִׁ֖ית בָּרָ֣א אֱלֹהִ֑ים אֵ֥ת הַשָּׁמַ֖יִם וְאֵ֥ת הָאָֽרֶץ׃ 

私はここで新しいプログラミングをしてくれてありがとうございます。

+1

ファイルの内容はどのようなものですか? – mangotang

+5

サンプル入力、予想出力、実際の出力を表示します。 – shmosel

+1

サンプルをいくつか追加しました。 –

答えて

3

これは、入力テキストにコロンが含まれていないためです。コロンのような文字は実際は ":" U + 05C3:HEBREW PUNCTUATION SOF PASUQです。

":"の代わりに "\ u05C3"を使用してみてください。

+0

よく目撃された! – Simon

+0

実際には、この文字は右から左のヘブライ語テキストの_last_文字なので、これは機能しません。 –

+0

すばらしいヒント!それは間違いなく問題でしたが、置き換えられたシンボルと同じ場所ではなく、行末に括弧を挿入します。あなたがちょうど言ったように。 –

関連する問題