StringBuilder
メソッドを使用して文字列を置き換えようとしましreplace
たが、残念ながらinsert
メソッドのように実行されています。
ここにいくつかのコードがあります:
public class StringBuilderReplace {
public static void main(String[] args) {
StringBuilder builder = new StringBuilder();
builder.append("Line 1\n");
builder.append("Line 2\n");
builder.append("Line 3\n");
builder.replace(builder.indexOf("Line 2"), builder.indexOf("Line 2"), "Temporary Line\n");
System.out.println(builder.toString());
}
}
このコードの結果:
Line 1
Temporary Line
Line 2
Line 3
私が欲しいのは:
Line 1
Temporary Line
Line 3
私が望む結果を得るためにこれを行う方法は?
AljoshaBreの回答に基づいて更新
次のようにコードを変更すると機能します。
builder.replace(builder.indexOf("Line 2"), builder.indexOf("Line 3"), "Temporary Line\n");
しかし、新しい問題が発生します。次の文字列(この例の場合Line 3
)の内容がわからない場合はどうなりますか?