Преобразование строк к Случаю Заголовка

Лучший способ обработать параметры командной строки argparse модуль.

Использование raw_input() для получения ввода данных пользователем. Если Вы импортируете readline module , то у Ваших пользователей будут редактирование строки и история.

95
задан bartektartanus 3 December 2014 в 13:15
поделиться

2 ответа

Apache Commons StringUtils.capitalize ( ) или WordUtils.capitalize ()

например: WordUtils.capitalize ("Я ПРЕКРАСНО") = "Я В ФОРМЕ" из WordUtils doc

99
ответ дан 24 November 2019 в 05:47
поделиться

в классе String нет методов capitalize () или titleCase (). У вас есть два варианта:

 StringUtils.capitalize(null)  = null
 StringUtils.capitalize("")    = ""
 StringUtils.capitalize("cat") = "Cat"
 StringUtils.capitalize("cAt") = "CAt"
 StringUtils.capitalize("'cat'") = "'cat'"
  • написать (еще один) статический вспомогательный метод toTitleCase ()

Пример реализации

public static String toTitleCase(String input) {
    StringBuilder titleCase = new StringBuilder(input.lenght());
    boolean nextTitleCase = true;

    for (char c : input.toCharArray()) {
        if (Character.isSpaceChar(c)) {
            nextTitleCase = true;
        } else if (nextTitleCase) {
            c = Character.toTitleCase(c);
            nextTitleCase = false;
        }

        titleCase.append(c);
    }

    return titleCase.toString();
}

Testcase

    System.out.println(toTitleCase("string"));
    System.out.println(toTitleCase("another string"));
    System.out.println(toTitleCase("YET ANOTHER STRING"));

выводит:

String
Another String
YET ANOTHER STRING
58
ответ дан 24 November 2019 в 05:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: