import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main
(String[] args
) { // Tests
String[] samples
= { "123ABC458",
"123ABC458XYZ",
"123ABC458XYZ367",
"ABC123XYZ",
"ABC123XYZ" }; System.
out.
println(numbersInverted
(s
));
}
StringBuilder sb = new StringBuilder();
Matcher matcher = Pattern.compile("\\d+").matcher(str);
int lastInitialPos = 0;
while (matcher.find()) {
int start = matcher.start();
String inverted
= new StringBuilder
(matcher.
group()).
reverse().
toString(); sb.append(str.substring(lastInitialPos, start)).append(inverted);
lastInitialPos = matcher.end();
}
if (sb.length() == 0) // If no number was found
return str;
else
return sb.append(str.substring(lastInitialPos)).toString();
}
}
aW1wb3J0IGphdmEudXRpbC5yZWdleC5NYXRjaGVyOwppbXBvcnQgamF2YS51dGlsLnJlZ2V4LlBhdHRlcm47CgpwdWJsaWMgY2xhc3MgTWFpbiB7CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7CgkJLy8gVGVzdHMKCQlTdHJpbmdbXSBzYW1wbGVzID0geyAiMTIzQUJDNDU4IiwgIjEyM0FCQzQ1OFhZWiIsICIxMjNBQkM0NThYWVozNjciLCAiQUJDMTIzWFlaIiwgIkFCQzEyM1hZWiIgfTsKCQlmb3IgKFN0cmluZyBzIDogc2FtcGxlcykKCQkJU3lzdGVtLm91dC5wcmludGxuKG51bWJlcnNJbnZlcnRlZChzKSk7CgoJfQoKCXN0YXRpYyBTdHJpbmcgbnVtYmVyc0ludmVydGVkKFN0cmluZyBzdHIpIHsKCQlTdHJpbmdCdWlsZGVyIHNiID0gbmV3IFN0cmluZ0J1aWxkZXIoKTsKCQlNYXRjaGVyIG1hdGNoZXIgPSBQYXR0ZXJuLmNvbXBpbGUoIlxcZCsiKS5tYXRjaGVyKHN0cik7CgkJaW50IGxhc3RJbml0aWFsUG9zID0gMDsKCQl3aGlsZSAobWF0Y2hlci5maW5kKCkpIHsKCQkJaW50IHN0YXJ0ID0gbWF0Y2hlci5zdGFydCgpOwoJCQlTdHJpbmcgaW52ZXJ0ZWQgPSBuZXcgU3RyaW5nQnVpbGRlcihtYXRjaGVyLmdyb3VwKCkpLnJldmVyc2UoKS50b1N0cmluZygpOwoJCQlzYi5hcHBlbmQoc3RyLnN1YnN0cmluZyhsYXN0SW5pdGlhbFBvcywgc3RhcnQpKS5hcHBlbmQoaW52ZXJ0ZWQpOwoJCQlsYXN0SW5pdGlhbFBvcyA9IG1hdGNoZXIuZW5kKCk7CgkJfQoJCWlmIChzYi5sZW5ndGgoKSA9PSAwKSAvLyBJZiBubyBudW1iZXIgd2FzIGZvdW5kCgkJCXJldHVybiBzdHI7CgkJZWxzZQoJCQlyZXR1cm4gc2IuYXBwZW5kKHN0ci5zdWJzdHJpbmcobGFzdEluaXRpYWxQb3MpKS50b1N0cmluZygpOwoJfQp9