Java 如何用相同长度的符号替换字符串

Java 如何用相同长度的符号替换字符串,java,string,Java,String,我正在创建一个审查,但我不确定如何用符号替换单词的长度* 这就是我目前所拥有的 package com.rs.game.player.content; public class CensorHandler { private String cuss = "test"; public boolean checkFilter(String passage) { if(passage.toLowerCase().contains(cuss))

我正在创建一个审查,但我不确定如何用符号替换单词的长度*

这就是我目前所拥有的

package com.rs.game.player.content;

public class CensorHandler {

    private String cuss = "test";

    public boolean checkFilter(String passage) {
        if(passage.toLowerCase().contains(cuss)) 
           return true;
        return false;
    }

    public String replaceWord(String passage) {
        if(checkFilter(passage)) {
           passage.replaceAll(cuss, "*");

        }
        return passage;
    }

}
显然,这将用just替换字符串cuss*

 passage.replaceAll(cuss, "*");
但我想让它把字符串中的每个字母都换成* 但我不知道该怎么做。。我有一种感觉,我最终会因为没能弄明白这一点而打自己的脸

所以,如果字符串cuss是test。 测试将替换为****(忽略间距)

如果这串咒语是苹果 苹果将被*****(忽略间距)取代

我要它把字符串中的每一个字母都换成cuss*

替换所有可以执行的字符

String cussStar = cuss.replaceAll(".", "*");
绝对不执行任何操作,因为它返回一个您甚至没有使用的
字符串。你必须做到:

passage = passage.replaceAll(cuss, "*");
但考虑到你想用相同长度的符号来替换脏话,也许你可以尝试以下方法:

char[] symbols = new char[cuss.length()];
Arrays.fill(symbols, '*');
passage = passage.replaceAll(cuss, new String(symbols));

定义“字母”。顺便说一句,replaceAll使用正则表达式。你的意思是“单词替换”?或者旧的方式=正则表达式会这样做:这将导致
char[] symbols = new char[cuss.length()];
Arrays.fill(symbols, '*');
passage = passage.replaceAll(cuss, new String(symbols));