Это мой пример кода Java:
String oldContent = "Book 1;Author 1;11|11\n" +
"Book 2;Author 2;1|1\n" +
"Book 3;Author 3;1|1\n" +
"Book 4;Author 4;1|1\n" +
"Book 5;Author 5;1|1\n";
String old = "Book 1;Author 1;11";
String newS = "Book 1;Author 1;12|12";
String content = oldContent.replace(old,newS);
System.out.println(content);
Я пытаюсь обновить часть строки в oldContent (old) новой частью строки (newS). Результат должен быть:
Book 1;Author 1;12|12
Book 2;Author 2;1|1
Book 3;Author 3;1|1
Book 4;Author 4;1|1
Book 5;Author 5;1|1
но на самом деле это:
Book 1;Author 1;12|12|11
Book 2;Author 2;1|1
Book 3;Author 3;1|1
Book 4;Author 4;1|1
Book 5;Author 5;1|1
с этими дополнительными |11
. Может ли кто-нибудь объяснить мне, как это работает и почему? Я пытался с replace()
, replaceAll()
, но результат тот же.