не могу не согласиться. Это вполне заслуживающее уважения решение.
Но есть другое :)
PS: мы пробовали сделать так в первую очередь, но JasperReport не схвал это — в муках было рождено симпатичное решение без анонимных классов =)
PPS: один товарищ, у которого нету акка на хабре прислал абсолютно верное решение. Предлагаю еще немного подумать!
Ещё раз напоминаю, что речь идёт не об отдельном слове, а строке, содержащей НЕСКОЛЬКО слов. А Ваш пример даже не обработает случая строки, начинающейся с вайтспейса )
apache-commons это не стандартная библиотека. Читайте условие внимательнее!
Необходимость формировать такое в одну строку, может быть, например, для преобразования значений в отчетах Jasper (это было в нашем случае).
Но есть другое :)
PS: мы пробовали сделать так в первую очередь, но JasperReport не схвал это — в муках было рождено симпатичное решение без анонимных классов =)
PPS: один товарищ, у которого нету акка на хабре прислал абсолютно верное решение. Предлагаю еще немного подумать!
$str = ~s/\b(\w)/\U$1/g;
но увы в Джавовских регекспах нету препроцессинговых модификаторов…
Можете представить полность доработанный вариант?
PS: В нашем варианте используется не только комбинация replaceAll().
P.S. вышеуказанный риплейс сработает не только для латиницы…
«СТРОКА С БОЛЬШИМ КОЛИЧЕСТВОМ СЛОВ»
Необходимость формировать такое в одну строку, может быть, например, для преобразования значений в отчетах Jasper (это было в нашем случае).
Да на что тут смотреть?)))