为什么我的替换都不起作用

时间:2017-06-26 03:43:42

标签: java string special-characters replaceall

我尝试从字符串中删除特殊字符但点只是“?”仍然在输出字符串上,而其他字符串被正确删除。

String[] special = {"\\*",";","_","=", "\\[", "\\]", ":", "\\?", "-", "\\.", 
"\\)", "\\(", "/", "!", "#", ",", "\"", "“", "”"};
    for (int i = 0; i < special.length; i++) {
        source = source.replaceAll(special[i], "");
    }

这是我的字符串

https://file.io/JjiLhD

2 个答案:

答案 0 :(得分:4)

您应该使用replace代替replaceAll,因为replaceAll使用输入正则表达式

for (int i = 0; i < special.length; i++) {
        source = source.replace(special[i], "");
    }

replacereplaceAll功能相同但输入不同

  

替换此字符串中与文字目标匹配的每个子字符串   具有指定文字替换序列的序列。

答案 1 :(得分:0)

请尝试使用alphanumeric个字符。

.replaceAll("[^a-zA-Z0-9]", ""));

且仅alphabetical个字符,

.replaceAll("[^a-zA-Z]", ""));