1

可能重复:
如何在 Java Character 类中表示空字符

我正在使用 java.lang.String 中定义的替换函数,我尝试使用“\0”作为“”(空白字符串)的等效项,但它添加了一个空格而不是空白字符串。

是否有与空白字符串等效的字符?

4

5 回答 5

6

没有所谓的“空字符”。Achar是一个值类型,所以它必须有一个值。没有值就是没有 a char- 这就是为什么你可以有空字符串(即“无字符”)和可以为空的字符,但不能有“空字符”。

无论如何,该String.replace(char, char)方法旨在用一个字符替换另一个字符。这个操作非常简单,因为这意味着必须分配一个已知大小的块。而String.replaceAll(string,string)实现方法要复杂得多,这就是它们不同的原因。

不幸的是,没有String.replace(char,string)方法 - 但我希望你能理解为什么。

于 2012-11-09T05:48:24.847 回答
1

如果要删除字符,则不能使用String.replace(char,char) 。没有空字符。该方法永远不会改变字符串的长度,它只是用另一个字符替换一个字符

您必须使用String.replaceAll(java.lang.String, java.lang.String)(或replaceFirst

"ababababa".replaceAll("a", ""); // returns "bbbb"
于 2012-11-09T05:53:56.587 回答
1

我想你想用“”替换“某事”,你不能反过来做......

       String ou="test";
       ou = ou.replace("t", "");
       System.out.println(ou);

输出将是:es

使用char替换版本这将不起作用,因为 '' 不是有效的char.

于 2012-11-09T05:49:57.183 回答
1

String给定的空白有无限多个……在和String之间有多少“无” ?这就像除以零!'a''b'"ab"

于 2012-11-09T05:44:27.713 回答
0

没有,但请注意有一个String.replace(CharSequence, CharSequence),因此您应该能够String.replace使用字符串作为第一个参数和 "" 作为第二个参数进行调用。

于 2012-11-09T05:46:04.387 回答