我在这个论坛上搜索了一下,我似乎找到了关于如何使每个单词的第一个字母大写的问题。这不是我想要的。
我正在寻找能够检查String中所有单词的内容,如果它们是大写的,则会将字母更改为小写,除非是第一个。
喜欢,假设字符串是:
“HI STACKOVERFLOW”
它会将其更改为:
“Hi Stackoverflow”
或者:
“我在stackoverflow dot com上提出了一个问题”
它会将其更改为:
“我在stackoverflow dot com上提出问题”
答案 0 :(得分:4)
我会使用StringTokenizer类将字符串分解为单独的单词。然后,您可以将每个标记作为单独的字符串进行比较并进行比较:
String line = "A BIG Thing that Something"
StringTokenizer st = new StringTokenizer(line);
while(st.hasMoreTokens)
{
String a = st.nextToken();
if(a.equals(a.toUpperCase())){
System.out.println(a.charAt(0) + a.substring(1).toLowerCase());
}else{
System.out.println(a);
}
}
类似的东西......你需要记住导入StringTokenizer,它是java.util包的一部分。
答案 1 :(得分:1)
public static void main(String[] args) {
String org= "HI STACKOVERFLOW";
String [] temp=org.split(" ");
int len=temp.length;
String ne = ".";
for(int i=0;i<len;i++)
{
temp[i]=temp[i].toUpperCase();
temp[i]=(temp[i].substring(0, 1)).toUpperCase()+(temp[i].substring(1, temp[i].length())).toLowerCase();
System.out.print(temp[i]+" ");
}
}
输出Hi Stackoverflow
答案 2 :(得分:-1)
如果您愿意在项目中加入库,我非常确定Apache Commons-lang StringUtils
具有您需要的功能类型。