replaceAll 粘贴部分不必要的额外字符串
replaceAll pastes part of unnecessary extra string
这是我的例子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);
我正在尝试用字符串的新部分 (newS) 更新 oldContent(旧)中的部分字符串。结果应该是:
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()
,但结果是一样的。
您正在用 Book 1;Autor 1;12|12
序列替换 Book 1;Author 1;11|11
序列,但是第一行以 1:11|11
结尾。请注意行尾的额外 |11
,它不会被处理并将附加到 Book 1;Autor 1;12|12
.
要完全替换第一行,您需要:
String old = "Book 1;Autor 1;11|11";
String newS = "Book 1;Autor 1;12|12";
String content = oldContent.replace(old, newS);
注意!您在 Author
个单词中有错字:
String old = "Book 1;Author 1;11|11";
String newS = "Book 1;Author 1;12|12";
String content = oldContent.replace(old, newS);
这是我的例子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);
我正在尝试用字符串的新部分 (newS) 更新 oldContent(旧)中的部分字符串。结果应该是:
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()
,但结果是一样的。
您正在用 Book 1;Autor 1;12|12
序列替换 Book 1;Author 1;11|11
序列,但是第一行以 1:11|11
结尾。请注意行尾的额外 |11
,它不会被处理并将附加到 Book 1;Autor 1;12|12
.
要完全替换第一行,您需要:
String old = "Book 1;Autor 1;11|11";
String newS = "Book 1;Autor 1;12|12";
String content = oldContent.replace(old, newS);
注意!您在 Author
个单词中有错字:
String old = "Book 1;Author 1;11|11";
String newS = "Book 1;Author 1;12|12";
String content = oldContent.replace(old, newS);