【问题标题】:Replacing all characters of a given string with a specific single character用特定的单个字符替换给定字符串的所有字符
【发布时间】:2014-02-11 19:26:59
【问题描述】:

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

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


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

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

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


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

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

System.out.println(c);

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


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

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

【问题讨论】:

    标签: java string


    【解决方案1】:

    Apache commonsStringUtils repeat()有这样的

    StringUtils.repeat(yourChar, requiredSize);
    

    例如:

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

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

    【讨论】:

    • 问了大约两个月后,可以肯定地认为这是最终答案。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2021-04-28
    • 1970-01-01
    • 2012-08-09
    • 2018-05-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多