如何使用Java将字符串中的第一个字母大写?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用Java将字符串中的第一个字母大写?相关的知识,希望对你有一定的参考价值。
示例字符串
one thousand only
two hundred
twenty
seven
如何更改大写字母中字符串的第一个字符而不更改任何其他字母的大小写?
改变之后应该是:
One thousand only
Two hundred
Twenty
Seven
注意:我不想使用apache.commons.lang.WordUtils来执行此操作。
如果您只想将名为input
的字符串的第一个字母大写,并将其余部分单独保留:
String output = input.substring(0, 1).toUpperCase() + input.substring(1);
现在,output
将拥有你想要的东西。在使用之前检查你的input
至少是一个字符,否则你会得到一个例外。
使用StringTokenizer类的示例:
String st = " hello all students";
String st1;
char f;
String fs="";
StringTokenizer a= new StringTokenizer(st);
while(a.hasMoreTokens())
st1=a.nextToken();
f=Character.toUpperCase(st1.charAt(0));
fs+=f+ st1.substring(1);
System.out.println(fs);
将所有内容添加到一起,最好在字符串的开头修剪额外的空白区域。否则,.substring(0,1).toUpperCase将尝试大写空格。
public String capitalizeFirstLetter(String original)
if (original == null || original.length() == 0)
return original;
return original.trim().substring(0, 1).toUpperCase() + original.substring(1);
StringBuilder的解决方案:
value = new StringBuilder()
.append(value.substring(0, 1).toUpperCase())
.append(value.substring(1))
.toString();
..基于以前的答案
用这个:
char[] chars = Character.toUpperCase(A.charAt(0)),
Character.toUpperCase(B.charAt(0));
String a1 = chars[0] + A.substring(1);
String b1 = chars[1] + B.substring(1);
鉴于input
字符串:
Character.toUpperCase(input.charAt(0)) + input.substring(1).toLowerCase()
您可以尝试以下代码:
public string capitalize(str)
String[] array = str.split(" ");
String newStr;
for(int i = 0; i < array.length; i++)
newStr += array[i].substring(0,1).toUpperCase() + array[i].substring(1) + " ";
return newStr.trim();
我的功能方法。在整段中的whitescape之后,它的句子中的第一个字符。
对于capatilising只有单词的第一个字符只需删除.split(“”)
b.name.split(" ")
.filter !it.isEmpty()
.map it.substring(0, 1).toUpperCase()
+it.substring(1).toLowerCase()
.joinToString(" ")
public static String capitalize(String str)
String[] inputWords = str.split(" ");
String outputWords = "";
for (String word : inputWords)
if (!word.isEmpty())
outputWords = outputWords + " "+StringUtils.capitalize(word);
return outputWords;
我想在接受的答案上添加NULL检查和IndexOutOfBoundsException。
String output = input.substring(0, 1).toUpperCase() + input.substring(1);
Java代码:
class Main
public static void main(String[] args)
System.out.println("Capitalize first letter ");
System.out.println("Normal check #1 : ["+ captializeFirstLetter("one thousand only")+"]");
System.out.println("Normal check #2 : ["+ captializeFirstLetter("two hundred")+"]");
System.out.println("Normal check #3 : ["+ captializeFirstLetter("twenty")+"]");
System.out.println("Normal check #4 : ["+ captializeFirstLetter("seven")+"]");
System.out.println("Single letter check : ["+captializeFirstLetter("a")+"]");
System.out.println("IndexOutOfBound check : ["+ captializeFirstLetter("")+"]");
System.out.println("Null Check : ["+ captializeFirstLetter(null)+"]");
static String captializeFirstLetter(String input)
if(input!=null && input.length() >0)
input = input.substring(0, 1).toUpperCase() + input.substring(1);
return input;
输出:
Normal check #1 : [One thousand only]
Normal check #2 : [Two hundred]
Normal check #3 : [Twenty]
Normal check #4 : [Seven]
Single letter check : [A]
IndexOutOfBound check : []
Null Check : [null]
2019年7月更新
目前,用于执行此操作的最新库函数包含在org.apache.commons.lang3.StringUtils
中
import org.apache.commons.lang3.StringUtils;
StringUtils.capitalize(myString);
如果您正在使用Maven,请在pom.xml中导入依赖项:
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.9</version>
</dependency>
public String capitalizeFirstLetter(String original)
if (original == null || original.length() == 0)
return original;
return original.substring(0, 1).toUpperCase() + original.substring(1);
只是...一个完整的解决方案,我看到它刚刚结束了所有其他人最终发布= P的结合。
Simplest way to do is:
class Test
public static void main(String[] args)
String newString="";
String test="Hii lets cheCk for BEING String";
String[] splitString = test.split(" ");
for(int i=0; i<splitString.length; i++)
newString= newString+ splitString[i].substring(0,1).toUpperCase()
+ splitString[i].substring(1,splitString[i].length()).toLowerCase()+" ";
System.out.println("the new String is "+newString);
最简单的方法是使用org.apache.commons.lang.StringUtils
类
StringUtils.capitalize(Str);
另外,Spring Framework中有org.springframework.util.StringUtils
:
StringUtils.capitalize(str);
String sentence = "ToDAY WeAthEr GREat";
public static String upperCaseWords(String sentence)
String words[] = sentence.replaceAll("\\s+", " ").trim().split(" ");
String newSentence = "";
for (String word : words)
for (int i = 0; i < word.length(); i++)
newSentence = newSentence + ((i == 0) ? word.substring(i, i + 1).toUpperCase():
(i != word.length() - 1) ? word.substring(i, i + 1).toLowerCase() : word.substring(i, i + 1).toLowerCase().toLowerCase() + " ");
return newSentence;
//Today Weather Great
String s=t.getText().trim();
int l=s.length();
char c=Character.toUpperCase(s.charAt(0));
s=c+s.substring(1);
for(int i=1; i<l; i++)
if(s.charAt(i)==' ')
c=Character.toUpperCase(s.charAt(i+1));
s=s.substring(0, i) + c + s.substring(i+2);
t.setText(s);
你走了(希望这能给你一个想法):
/*************************************************************************
* Compilation: javac Capitalize.java
* Execution: java Capitalize < input.txt
*
* Read in a sequenc以上是关于如何使用Java将字符串中的第一个字母大写?的主要内容,如果未能解决你的问题,请参考以下文章