检查单词是否为大写,并仅更改第一个字母

时间:2012-04-23 04:02:48

标签: java string uppercase

我在这个论坛上搜索了一下,我似乎找到了关于如何使每个单词的第一个字母大写的问题。这不是我想要的。

我正在寻找能够检查String中所有单词的内容,如果它们是大写的,则会将字母更改为小写,除非是第一个。

喜欢,假设字符串是:

“HI STACKOVERFLOW”

它会将其更改为:

“Hi Stackoverflow”

或者:

“我在stackoverflow dot com上提出了一个问题”

它会将其更改为:

“我在stackoverflow dot com上提出问题”

3 个答案:

答案 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具有您需要的功能类型。