我需要用一个字符替换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和替换字符可以分别是任何有效的字符串和字符。
答案 0 :(得分:1)
Apache commons StringUtils repeat()
有这样的
StringUtils.repeat(yourChar, requiredSize);
例如:
StringUtils.repeat("a", 3) = "aaa"
上述方法也适用于char
类型。