ユーザーが特定の単語を他の単語に置き換えることができる単語フィルターを作成しようとしています。ただし、明らかに、フィルター処理したくないものがいくつかあります (たとえば、他の単語とは別の単語)。
これまでのところ、私はこれを持っています:
msg = msg.replaceAll("(?i)\\b[^\\w -]*"+original+"[^\\w -]*\\b", replacement);
ほとんどの場合、比較的うまく機能します。ただし、小さな不具合が 1 つあります。
「m」をたとえば「r」に置き換えると、「I'm」などの単語の「m」も置き換えられます。つまり、「I'r」になります。これは明らかにバグです。
私の言いたいことを理解していただければ幸いです。ヘルプ?