私はJavaでこのメソッドをよく使用replace(CharSequence,CharSequence)
しますが、今日、私は本当に理解できない何かに遭遇しました。
私がする時 :
"|||".replace("||","| |");
なぜ結果は:| ||
であり、そうではないの| | |
ですか?|
2番目を2つのパターンに含めることができないのはなぜですか?
私の問題を解決するために、私は"|||".replace("||","| |").replace("||","| |");
少し冗長に見えるものを書かなければなりません。
背後にあるメカニズムをよりよく理解するのに役立つ説明がありますか?
編集
したがって、これはjavadocで指定されている特定のケースであると言われていますが、間違っている例は次のとおりです。
* The replacement proceeds from the beginning of the string to the end, for
* example, replacing "aa" with "b" in the string "aaa" will result in
* "ba" rather than "ab".
したがって、結果「ba」は「aa」と一致しなくなったため、私の場合とは異なります。私の場合、結果は「|||」です。まだパターンが含まれています。