パターンの置き換えで奇妙な問題が発生しています。
私には次の2つのパターンがあります。
private static final Pattern CODE_ANY = Pattern.compile("&[0-9a-fk-or]");
private static final Pattern CODE_BLACK = Pattern.compile(ChatColour.BLACK.toString());
ChatColour.BLACK.toString()は「&0」を返します
次に、私はこのコードを持っています:
public static String Strip(String message)
{
while (true)
{
Matcher matcher = CODE_ANY.matcher(message);
if (!matcher.matches())
break;
message = matcher.replaceAll("");
}
return message;
}
私はいくつかの異なるアプローチを試しましたが、何も置き換えられません。初期バージョンでは、各CODE_xxxパターンが次々と呼び出されていましたが、ユーザーはアンパサンドを2倍にすることでそれを回避していました。
なぜこれが何も削除されないのか理解できません。コンソールにデバッグメッセージを出力して確認したので、確実に呼び出されていることはわかっています。
//モーテン