Изменение списка имен, набранных заглавными буквами, на имена, набранные заглавными буквами в Java - PullRequest
1 голос
/ 07 июня 2011

Допустим, у меня есть файл с сотней строк текста, написанных заглавными буквами.Как мне перейти к изменению слов в каждой строке на строчные буквы, когда только первая буква остается заглавной?

 TEXT ON FIST LINE
 TEXT ON SECOND LINE
 TEXT ON THIRD LINE

на

 Text On Fist Line
 Text On Second Line
 Text On Third Line

Я думал примерно так*

 s.substring(0, 1).toUpperCase() + s.substring(1).toLowerCase()

Но использование StringBuilder, вероятно, было бы разумнее, и, возможно, есть даже что-то лучше, чем StringBuilder.

Ответы [ 2 ]

2 голосов
/ 07 июня 2011

Если вы не против использования Apace Commons, вы можете использовать WordUtils.capitalize() или WordUtils.capitalizeFully()

0 голосов
/ 07 июня 2011

Четыре варианта (на самом деле 5, но один вариант другого):

  1. Использовать библиотеку, которая уже обрабатывает заглавные буквы типа предложения
  2. Разбить предложение, а затем верхний регистрпервая буква каждого слова
  3. Regex для пробела + буква и замена конца шаблона заглавной версией
  4. Пробежка по строке и использование заглавной буквы после пробела

№ 5, вариант № 4, все еще проходит через строку, но в двоичном виде.Это не сложно, но оно меняется в зависимости от того, является ли это ASCII или Unicode, и может меняться из-за набора символов.

Если вы делаете это с помощью пользовательской подпрограммы, установите ее как класс многократного использования, как я могупочти гарантирую, что вы будете использовать это снова.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...