Ничего такого аккуратного, но в Java вы бы использовали String.replaceAll () или Pattern , чтобы сделать что-то вроде:
Pattern p = Pattern.compile("(\bi'?\b)");
Matcher m = p.matcher(stringToReplace);
m.replaceAll("$1");
Проверьте шаблоны документов на наличие синтаксиса регулярных выражений Java - он не полностью перекрывается с Perl.
Чтобы получить заглавные буквы, проверьте Matcher.appendReplacement
:
StringBuffer sb = new StringBuffer();
while (m.find()) {
String uppercaseGroup = m.group(1).toUpperCase();
m.appendReplacement(sb, uppercaseGroup);
}
m.appendTail();
Не так близко к Perl, как указанная выше библиотека jakarta-oro, но определенно некоторая помощь встроена в библиотеку.