我尝试从字符串中删除特殊字符但点只是“?”仍然在输出字符串上,而其他字符串被正确删除。
String[] special = {"\\*",";","_","=", "\\[", "\\]", ":", "\\?", "-", "\\.",
"\\)", "\\(", "/", "!", "#", ",", "\"", "“", "”"};
for (int i = 0; i < special.length; i++) {
source = source.replaceAll(special[i], "");
}
这是我的字符串
答案 0 :(得分:4)
您应该使用replace
代替replaceAll
,因为replaceAll
使用输入正则表达式
for (int i = 0; i < special.length; i++) {
source = source.replace(special[i], "");
}
replace
与replaceAll
功能相同但输入不同
替换此字符串中与文字目标匹配的每个子字符串 具有指定文字替换序列的序列。
答案 1 :(得分:0)
请尝试使用alphanumeric
个字符。
.replaceAll("[^a-zA-Z0-9]", ""));
且仅alphabetical
个字符,
.replaceAll("[^a-zA-Z]", ""));