Существует ли способ регулярного выражения для замены набора символов другим набором (например, командой shell tr)?

Оболочкаtr Поддержка команд заменяет один набор символов другим набором. Например,echo hello | tr [a-z] [A-Z] переведуhello вHELLO.

В Java, однако, я должен заменить каждый символ индивидуально, как показано ниже

"10 Dogs Are Racing"
    .replaceAll ("0", "0")
    .replaceAll ("1", "1")
    .replaceAll ("2", "2")
    // ...
    .replaceAll ("9", "9")
    .replaceAll ("A", "A")
    // ...
;

Апач-Обще-языки библиотека предоставляет удобныйreplaceChars способ сделать такую замену.

// half-width to full-width
System.out.println
(
    org.apache.commons.lang.StringUtils.replaceChars
    (
        "10 Dogs Are Racing",
        "0123456789ABCDEFEGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",
        "0123456789ABCDEFEGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
    )
);
// Result:
// 10 Dogs Are Racing

Но, как вы можете видеть, иногда searchChars / replaceChars слишком длинные (также слишком скучные, пожалуйста, найдите дублированный символ, если хотите) и могут быть выражены с помощью простого регулярного выражения[0-9A-Za-z]/[0-9A-Za-z], Есть ли способ регулярного выражения для достижения этого?

Ответы на вопрос(2)

Ваш ответ на вопрос