我正在使用java.lang.String中定义的replace函数,我尝试使用“\ 0”作为“”(空字符串)的等效项,但是它添加了空格而不是空字符串。
是否有空白字符串的等效字符?
答案 0 :(得分:6)
没有“空角色”这样的东西。 char
是值类型,因此它必须具有值。缺少值是缺少char
- 这就是为什么你可以有空字符串(即“无字符”)和可空字符,但不是“空字符”。
无论如何,String.replace(char, char)
方法意味着将一个字符替换为另一个字符。此操作非常简单,因为这意味着必须分配已知大小的单个块。而String.replaceAll(string,string)
是一种相当复杂的实施方法,这就是它们不同的原因。
不幸的是没有String.replace(char,string)
方法 - 但我希望你能理解为什么。
答案 1 :(得分:1)
给定的String
中有无限多的空白String
... 'a'
中'b'
和"ab"
之间有多少“nothings”?这就像是除以零!
答案 2 :(得分:1)
我想说你想用“”代替“某事”,你不能反过来......
String ou="test";
ou = ou.replace("t", "");
System.out.println(ou);
输出将是:es
使用char
版本的替换版本不起作用,因为''不是有效的char
。
答案 3 :(得分:1)
如果要删除字符,则无法使用String.replace(char,char)。没有空角色。该方法永远不会改变字符串的长度,它只是用另一个字符
替换一个字符您必须使用String.replaceAll(java.lang.String, java.lang.String)(或replaceFirst
)
"ababababa".replaceAll("a", ""); // returns "bbbb"
答案 4 :(得分:0)
没有,但注意到有String.replace(CharSequence, CharSequence)
,所以你应该能够用一个字符串作为第一个参数调用String.replace
,并将“”作为第二个参数。