簡體   English   中英

在Java中,如何將字符串的所有單詞都轉換為句子大小寫?

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

在Java中,如何將其轉換為:

little bo peep HAS LOST HER SHEEP And Doesn't Know WHERE to Find them

對此:

Little Bo Peep Has Lost Her Sheep And Doesn't Know Where To Find Them
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());
 }

或普通拆分版本:

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();
    }
}

注意 :此版本還將修剪前導/后綴空格(可能不希望使用)

導入java.io. *;

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){}
}   

}

    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"));

    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM