Апач библиотеки содержат некоторые способы справиться с этим, как упомянуто B'bek Шакья и комментарий, но если вы ищете прямой родное решение Java вы могли бы сделать это как Лысый Banta упоминается в комментариях.
Вот пример кода с использованием потоков:
public static void main(String[] args) {
String input = "fOo bar";
String transformed = Arrays.stream(input.toLowerCase()
.split(" "))
.map(String::toCharArray)
.map(arr -> {
arr[0] = Character.toUpperCase(arr[0]);
return arr;
})
.map(String::valueOf)
.collect(Collectors.joining(" "));
System.out.println(transformed);
}
И то же самое с использованием более общей идиомы цикла:
public static void main(String[] args) {
String input = "fOo bar";
String[] words = input.toLowerCase().split(" ");
StringBuilder sb = new StringBuilder();
for (int i = 0; i < words.length; i++) {
char[] word = words[i].toCharArray();
word[0] = Character.toUpperCase(word[0]);
if (i != 0) {
sb.append(" ");
}
sb.append(String.valueOf(word));
}
System.out.println(sb.toString());
}
http://stackoverflow.com/questions/3696441/converting- а-символ к верхнему регистру. Перебирайте строку и верхний/нижний символы. –
В String такого метода нет. –
Существует не встроенный, поэтому подумайте о том, чтобы создать свой собственный метод. сделайте все в нижнем регистре, разделите строку на пробелы на массив, разделите каждый элемент на массив символов, получите доступ к первому элементу каждого элемента в общем массиве и сделайте его заглавным, затем соедините все вместе. –