Как сделать строчную первую букву заглавной, а другие мелкими - PullRequest
0 голосов
/ 14 апреля 2020

Я пытаюсь преобразовать первую строковую букву в заглавную, а остальные должны быть маленькими. Я попробовал ниже код. Он отлично работает с преобразованием заглавной буквы, но преобразует оставшуюся букву в маленькую.

String str = "hiGh";
// capitalize first letter
String output = str.substring(0, 1).toUpperCase() + str.substring(1)

Вывод должен быть: High

Ответы [ 3 ]

1 голос
/ 14 апреля 2020

Вы можете манипулировать символами String, чтобы убедиться, что только первый из них является заглавным,

String capitalizeFirstOf(String s){
 char[] chars = s.toCharArray();
  for (int i=0; i<s.length(); i++){
   if (i==0){
    chars[i] = Character.toUpperCase(chars[i]);
   }else{
    chars[i] = Character.toLowerCase(chars[i]);
   }
  }

  return new String(chars);
}
1 голос
/ 14 апреля 2020

Вам нужно изменить более позднюю подстроку на строчную. Используйте следующий код:

String name  = "hiGH"; 
name = name.substring(0,1).toUpperCase() + name.substring(1).toLowerCase();
0 голосов
/ 14 апреля 2020

Если вы выполняете много конвертирования строк, я бы рекомендовал использовать такую ​​библиотеку, как: apache commons 3

Они имеют, например, UpperCase/LowerCase/SwapCase/Capitalize/Uncapitalize et c.

Так что вам не нужно тратить время на простые строковые методы.

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