英数字でないか、ユーザーが入力した特殊文字リストに属していない文字列のすべての文字を置き換えたいと思います。 FILENAME2の値が残っているいくつかの理由replaceAllが正規表現で動作していないようです
String pagePath = "/content/geo/en/tool";
String specialCharacters = "\\:*?\"<>|#";
String fileName = pagePath.replaceAll("[^\\p{IsAlphabetic}^\\p{IsDigit}\\:*?\"<>|#]", replacer); //This works fine o/p: ~content~geo~en~tool
String test2 = "\"[^\\p{IsAlphabetic}^\\p{IsDigit}" + specialCharacters + "]\"";
String fileName2 = pagePath.replaceAll(test2, replacer);
、/コンテンツ/地理/ EN /ツール
誰かが間違っているもので私を助けてくださいことはできますか?
あなたは 'test2'(おそらく自動的にIDEでエスケープ)の開始と終了時' "'余分を持つ2つの正規表現ではない理由を確認します。 – Pshemo
コピー貼りの誤植として閉じようとする投票 – Pshemo
BTW '^'は文字クラス '[.. ..]'の先頭でのみ否定を表します。中には単純なリテラルとして扱われます – Pshemo