У меня есть требование очистить строку для недопустимых данных штрих-кода 39 и заменить каждый недопустимый символ на пробел.
В настоящее время единственными допустимыми символами в штрих-коде-39 являются 0-9, AZ, - (тире),. (Точка), $ (знак доллара), / (косая черта), + (знак плюс),% (процент) знак) и пробел.
Я попробовал следующее регулярное выражение, но, похоже, в первой группе символов используется только оператор not.
barcode = barcode.toUpperCase().replaceAll("[^A-Z0-9\\s\\-\\.\\s\\$/\\+\\%]*"," ");
Код, похоже, только интерпретирует: если не от А до Я, то заменить на пробел. Как мне заставить его интерпретировать, если не A-Z и не 0-9, а не тире и не знак доллара, а не косая черта и т. Д., То замените символ пробелом.
Любая помощь будет великолепна.