替换为空字符串替换原始字符串中所有字符周围的newChar

use*_*655 2 java string replace

我正在处理一个我正在使用Java String.replace方法的java代码.因此,在一种情况下测试替换方法时,我计划将垃圾值放入String.replace("","");

所以在测试中我遇到了用一些其他值替换空白值的条件,即在原始字符串的所有字符周围String.replace("","p")替换"p"了所有字符

例:

String strSample = "val";
strSample = strSample.replace("","p");
System.out.println(strSample);
Run Code Online (Sandbox Code Playgroud)

输出:

pvpaplp
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释为什么它这样工作?

Pet*_*rey 5

replace查找每个具有以替换字符串开头的String的位置.例如,如果你在"香蕉"中替换"a",它会发现"a"3次.

但是,对于空字符串,它在任何地方找到它,包括在最后一个字母之前和之后