Java 检查单词是否为大写,并仅更改第一个字母
我在这个论坛上搜索了一下,我能找到的似乎都是关于如何使每个单词的第一个字母大写的问题。这不是我要找的 我正在寻找能够检查字符串中所有单词的东西,如果它们是大写的,则会将字母改为小写,但第一个字母除外 比如,假设字符串是: “HI STACKOVERFLOW” 它将改为: “Hi Stackoverflow” 或: “我在问一个关于stackoverflow.com的问题” 它将改为:Java 检查单词是否为大写,并仅更改第一个字母,java,string,uppercase,Java,String,Uppercase,我在这个论坛上搜索了一下,我能找到的似乎都是关于如何使每个单词的第一个字母大写的问题。这不是我要找的 我正在寻找能够检查字符串中所有单词的东西,如果它们是大写的,则会将字母改为小写,但第一个字母除外 比如,假设字符串是: “HI STACKOVERFLOW” 它将改为: “Hi Stackoverflow” 或: “我在问一个关于stackoverflow.com的问题” 它将改为: “我在stackoverflow.com上问一个问题”我会使用StringTokenizer类将字符串分解成单独
“我在stackoverflow.com上问一个问题”我会使用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包的一部分。我将使用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包的一部分。如果您愿意在项目中合并库,我很确定Apache Commons lang
StringUtils
具有您需要的功能类型。如果您愿意在项目中合并库,我很确定Apache Commons langStringUtils
具有您需要的功能类型。public static void main(String[]args){
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]+" ");
}
}
String org=“HI STACKOVERFLOW”;
字符串[]temp=org.split(“”);
int len=温度长度;
字符串ne=“.”;
对于(int i=0;ipublicstaticvoidmain(String[]args){
String org=“HI STACKOVERFLOW”;
字符串[]temp=org.split(“”);
int len=温度长度;
字符串ne=“.”;
对于(int i=0;ii)你想找这个。<“代码”>“代码”不是一个单词,而是一个两个单词的缩写。你认为任何非空白字符都是“单词”吗?我想你在找这个问题。<代码>“我”不是一个单词,而是两个单词的缩写。你认为非空白字符是否是“单词”?什么是<代码>(a.equals(a.toUpperCase())
do?只需将标记更改为大写?在这种情况下,为什么需要if()
?该部分检查a是否大写(即a是否大写)。如果是因为海报想让这些类型的代币只有一个主要的资本,那么如果是其他类型的代币,那么其他类型的代币都保持不变。这有意义吗?谢谢,伙计们,你们知道我是如何做到的吗?如果第一个字母是一个符号(即“:”)它不会将第二个字符小写。因此,人们可以执行:D,而不必将其转到:D?@codythonpson:您必须使用a.charAt(0)
。检查ASCII表以查看要比较的内容。我不会给您答案,因为通过搜索学习>>>询问;-)如果(a.equals)是什么(a.toUpperCase())
do?只需将标记更改为大写?在这种情况下,为什么需要if()
?该部分检查a是否等于大写(即a是否为大写)。如果是因为海报想让这些类型的代币只有一个主要的资本,那么如果是其他类型的代币,那么其他类型的代币都保持不变。这有意义吗?谢谢,伙计们,你们知道我是如何做到的吗?如果第一个字母是一个符号(即“:”)它不会将第二个字符小写。因此,人们可以执行:D,而不必将其转到:D?@codythonpson:您必须使用a.charAt(0)
。检查ASCII表以查看要比较的内容。我不会给您答案,因为通过搜索学习>>询问;-)