开发者

In Java, how do you convert all of the words of a string to sentence case?

In Java, how do you convert this:

little bo peep HAS LOST HER SHEEP And Does开发者_运维知识库n't Know WHERE to Find them

to this:

Little Bo Peep Has Lost Her Sheep And Doesn't Know Where To Find Them


WordUtils.capitalizeFully(String input) from commons lang


public static void main(String[] args) {

  String str = "little bo peep HAS LOST HER SHEEP And Doesn't Know WHERE to Find them";
  str = str.toLowerCase();
  final StringTokenizer st = new StringTokenizer(str, " ");
  final StringBuilder sb = new StringBuilder();

  while (st.hasMoreTokens()) {
   String token = st.nextToken();
   sb.append(Character.toUpperCase(token.charAt(0))
     + token.substring(1) + " ");
  }

  System.out.println(sb.toString().trim());
 }


Or plain split version:

public static String capWords(String s) {
    if (s == null && s.isEmpty()) {
        return s;
    } else {
        StringBuilder sb = new StringBuilder();
        for (String token : s.split(" ")) {
            if (token.isEmpty()) {
                if (sb.length() > 0) {
                    sb.append(" ");
                }
            } else {
                if (sb.length() > 0) {
                    sb.append(" ");
                }
                sb.append(Character.toUpperCase(token.charAt(0)));
                if (token.length() > 1) {
                    sb.append(token.substring(1).toLowerCase());
                }
            }
        }
        return sb.toString();
    }
}

Note: this version will also trim leading/trailing spaces (which may or may not be desired)


    private static String capitalize(String s){
        String str = s.toLowerCase();
        char[] c = str.toCharArray();

        c[0] = Character.toUpperCase(c[0]);
        return new String(c);
    }

    private static String format(String s){
        String[] splitted = s.split(" ");
        StringBuffer sb = new StringBuffer();

        for(int i=0, l = splitted.length; i < l; i++){
            if(splitted[i].trim().length() != 0){
                 sb.append(capitalize(splitted[i]) + " ");
            }

            if(i != l-1){
                 sb.append(" ");
            }
        }

        return sb.toString();
    }


    public static void main(String... args){

        System.out.println(format("little bo peep HAS LOST HER SHEEP And Doesn't Know WHERE to Find them"));

    }


import java.io.*;

class ex3

{

public static void main(String arg[])
{
    DataInputStream dis = new DataInputStream(System.in);
    try
    {
        System.out.println("ENTER THE STRING::");
        String s=dis.readLine();
        String res="";
        char fchar=Character.toUpperCase(s.charAt(0));
        res=res+fchar;
        for(int i=1;i<=s.length()-1;i++)
        {
                if(s.charAt(i)==' ')
                res=res+s.charAt(i);
                else if(s.charAt(i)=='.'||s.charAt(i)=='?'||s.charAt(i)=='!')
                {
                    res=res+s.charAt(i);
                    res=res+Character.toUpperCase(s.charAt(i+1));
                    i=i+1;
                }
                else 
                    res=res+Character.toLowerCase(s.charAt(i));
        }
        System.out.println(res);
    }
    catch(Exception e){}
}   

}

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜