Часто возникает задача, когда необходимо преобразовать первый символ каждого слова в строке в прописную букву. Рассмотрим пример: есть строка «hello world», и в результате преобразования она должна стать «Hello World».
На первый взгляд, встроенные функции Java для работы со строками, такие как toUpperCase()
и toLowerCase()
, кажутся подходящими для решения этой задачи. Однако они преобразуют все символы строки, а не только первые символы каждого слова.
Способ решения
Ниже представлен простой способ решения этой задачи с использованием класса Character
в Java.
public String capitalizeWords(String source) { char[] chars = source.toCharArray(); boolean wordStart = true; for (int i = 0; i < chars.length; i++) { if (Character.isWhitespace(chars[i])) { wordStart = true; } else if (wordStart) { chars[i] = Character.toUpperCase(chars[i]); wordStart = false; } } return new String(chars); }
В этом коде функция capitalizeWords
принимает исходную строку и преобразует ее в массив символов. Затем происходит проход по каждому символу в массиве. Если символ является пробелом, значит начинается новое слово и следующий символ нужно преобразовать в прописной. Если символ не является пробелом и он находится в начале слова, то он преобразуется в прописной и переменная wordStart
устанавливается в false
. В конце новый массив символов преобразуется обратно в строку и возвращается как результат.
Таким образом, при помощи данного кода можно преобразовать первый символ каждого слова в строке в прописную букву.
Добавить комментарий