必要な答えを提供する可能性のある投稿をいくつか検索しましたが、見つかりませんでした。
なぜこの正規表現なのだろうか:
Pattern.compile("[^\\w\\s\\d\\&]")
次のような文字列では正しく機能しません。
"AE&E randomstr§%%%ing b§)$§$/bla & some text"
結果は次のようになります (テスト済み)。
"AE E randomstring blabla some text"
私は特にアンパサンドを除外しましたが。以前のトークンはそれを覆しますか? 誰でもこの背後にあるロジックを明確にすることができますか?
私のコード:
String str = "AE&E randomstr§%%%ing b45747bla & some text";
Pattern pattern = Pattern.compile("[^\\w\\s\\d\\&]");
Matcher matcher = pattern.matcher(str);
str = StringUtils.normalizeSpace(matcher.replaceAll(" "));