用特定的单个字符替换给定字符串的所有字符

时间:2013-12-14 16:44:37

标签: java string

我需要用一个字符替换String的所有字符。例如,

给出了ABCDEF之类的字符串。替换操作应该产生类似######的输出。给定字符串中的所有六个字符都应替换为固定的单个字符#,如示例所示。


这样做的一个丑陋方法是使用replaceAll()方法,如下所示。

System.out.println("ABCDEF".replaceAll(".", "#"));

这将产生预期的输出######,但我认为,这不是推荐的方式。 (它会发出警告)。


另一种方法是使用Arrays.fill()方法,如下所示。

char[]c={'A', 'B', 'C', 'D', 'E', 'F'};
Arrays.fill(c, '#');

System.out.println(c);

但这需要一个字符数组,我不需要字符数组。


是否有精确/推荐的方法来实现这一目标(可在外部库中使用)?

String和替换字符可以分别是任何有效的字符串和字符。

1 个答案:

答案 0 :(得分:1)

Apache commons StringUtils repeat()有这样的

StringUtils.repeat(yourChar, requiredSize);

例如:

 StringUtils.repeat("a", 3)  = "aaa"

上述方法也适用于char类型。