ho i seguenti caratteri che vorrei essere considerato "illegale":funzione di Java da restituire se stringa contiene caratteri non validi
~
, #
, @
, *
, +
, %
, {
, }
, <
, >
, [
, ]
, |
, “
, ”
, \
, _
, ^
Vorrei scrivere un metodo che ispeziona una stringa e determina (true
/false
) se la stringa contiene questi illegals:
public boolean containsIllegals(String toExamine) {
return toExamine.matches("^.*[~#@*+%{}<>[]|\"\\_^].*$");
}
Tuttavia, un semplice controllo matches(...)
non è fattibile per questo. Ho bisogno del metodo per scansionare ogni carattere nella stringa e assicurarmi che non sia uno di questi personaggi. Certo, avrei potuto fare qualcosa orribile come:
public boolean containsIllegals(String toExamine) {
for(int i = 0; i < toExamine.length(); i++) {
char c = toExamine.charAt(i);
if(c == '~')
return true;
else if(c == '#')
return true;
// etc...
}
}
C'è un modo più elegante/efficiente di realizzare questo?
perché non è possibile utilizzare "partite"? –
perché non è bello! – thang