Учитывая экземпляр java.lang.String, я хочу убедиться, что он не содержит символов Юникода, которые не являются буквенно-цифровыми символами ASCII. например Строка должна быть ограничена [A-Za-z0-9.]. То, что я делаю сейчас, очень неэффективно:
import org.apache.commons.lang.CharUtils;
String s = ...;
char[] ch = s.toCharArray();
for( int i=0; i<ch.length; i++)
{
if( ! CharUtils.isAsciiAlphanumeric( ch[ i ] )
throw new InvalidInput( ch[i] + " is invalid" );
}
Есть ли лучший способ решить эту проблему?