我想替换字符串中不是字母数字或不属于用户输入的特殊字符列表的所有字符。
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);
由于某种原因,fileName2的值仍然是/ content / geo / en / tool
有人可以帮我解决出错的问题吗?
答案 0 :(得分:3)
无需转义test2
中的引号:
String test2 = "[^\\p{IsAlphabetic}^\\p{IsDigit}" + specialCharacters + "]";