Próbuję usunąć znaki specjalne z łańcucha, ale chodzi tylko o „?” nadal na łańcuchu wyjściowym, podczas gdy pozostałe zostały poprawnie usunięte.
String[] special = {"\*",";","_","=", "\[", "\]", ":", "\?", "-", "\.",
"\)", "\(", "/", "!", "#", ",", """, "“", "”"};
for (int i = 0; i < special.length; i++) {
source = source.replaceAll(special[i], "");
}
to jest mój ciąg
Odpowiedzi:
4 dla odpowiedzi № 1Powinieneś użyć replace
zamiast replaceAll
bo replaceAll
używa wyrażenia wejściowego
for (int i = 0; i < special.length; i++) {
source = source.replace(special[i], "");
}
replace
ma taką samą funkcję replaceAll
ale inne wejście
Zastępuje każdy podciąg tego łańcucha, który pasuje do dosłownego celu sekwencja z określoną literalną sekwencją zastępczą.
0 dla odpowiedzi nr 2
Spróbuj tego alphanumeric
postacie.
.replaceAll("[^a-zA-Z0-9]", ""));
i tylko alphabetical
postacie,
.replaceAll("[^a-zA-Z]", ""));