首页 文章

如何使用Java将字符串中的第一个字母大写?

提问于
浏览
188

示例字符串

one thousand only
two hundred
twenty
seven

如何更改大写字母中字符串的第一个字符而不更改任何其他字母的大小写?

改变之后应该是:

One thousand only
Two hundred
Twenty
Seven

注意:我不想使用apache.commons.lang.WordUtils来执行此操作 .

15 回答

  • 0

    用这个:

    char[] chars = {Character.toUpperCase(A.charAt(0)), 
    Character.toUpperCase(B.charAt(0))};
    String a1 = chars[0] + A.substring(1);
    String b1 = chars[1] + B.substring(1);
    
  • 1

    您可以在java.util包中使用内置函数:

    >> import java.util.*;
    
    >> System.out.println(capitalize(input));
    

    确保字符串不是事先大写的 .

  • 5

    它只需要一行代码就可以了 . if String A = scanner.nextLine(); 然后你需要写这个来显示首字母大写的字符串 .

    System.out.println(A.substring(0, 1).toUpperCase() + A.substring(1));

    它现在完成了 .

  • 3

    最简单的方法是使用 org.apache.commons.lang.StringUtils

    StringUtils.capitalize(Str);

  • 54

    你走了(希望这能给你一个想法):

    /*************************************************************************
     *  Compilation:  javac Capitalize.java
     *  Execution:    java Capitalize < input.txt
     * 
     *  Read in a sequence of words from standard input and capitalize each
     *  one (make first letter uppercase; make rest lowercase).
     *
     *  % java Capitalize
     *  now is the time for all good 
     *  Now Is The Time For All Good 
     *  to be or not to be that is the question
     *  To Be Or Not To Be That Is The Question 
     *
     *  Remark: replace sequence of whitespace with a single space.
     *
     *************************************************************************/
    
    public class Capitalize {
    
        public static String capitalize(String s) {
            if (s.length() == 0) return s;
            return s.substring(0, 1).toUpperCase() + s.substring(1).toLowerCase();
        }
    
        public static void main(String[] args) {
            while (!StdIn.isEmpty()) {
                String line = StdIn.readLine();
                String[] words = line.split("\\s");
                for (String s : words) {
                    StdOut.print(capitalize(s) + " ");
                }
                StdOut.println();
            }
        }
    
    }
    
  • 6

    如果您只想将名为 input 的字符串的第一个字母大写,并将其余字母留下:

    String output = input.substring(0, 1).toUpperCase() + input.substring(1);
    

    现在 output 将拥有你想要的东西 . 在使用之前检查 input 至少是一个字符,否则你会得到一个例外 .

  • 0

    StringBuilder的解决方案:

    value = new StringBuilder()
                    .append(value.substring(0, 1).toUpperCase())
                    .append(value.substring(1))
                    .toString();
    

    ..基于以前的答案

  • 2
    String sentence = "ToDAY   WeAthEr   GREat";    
    public static String upperCaseWords(String sentence) {
            String words[] = sentence.replaceAll("\\s+", " ").trim().split(" ");
            String newSentence = "";
            for (String word : words) {
                for (int i = 0; i < word.length(); i++)
                    newSentence = newSentence + ((i == 0) ? word.substring(i, i + 1).toUpperCase(): 
                        (i != word.length() - 1) ? word.substring(i, i + 1).toLowerCase() : word.substring(i, i + 1).toLowerCase().toLowerCase() + " ");
            }
    
            return newSentence;
        }
    //Today Weather Great
    
  • 18
    String s=t.getText().trim();
    int l=s.length();
    char c=Character.toUpperCase(s.charAt(0));
    s=c+s.substring(1);
    for(int i=1; i<l; i++)
        {
            if(s.charAt(i)==' ')
            {
                c=Character.toUpperCase(s.charAt(i+1));
                s=s.substring(0, i) + c + s.substring(i+2);
            }
        }
        t.setText(s);
    
  • 77
  • -1

    将所有内容添加到一起,最好在字符串的开头修剪额外的空白区域 . 否则,.substring(0,1).toUpperCase将尝试大写空格 .

    public String capitalizeFirstLetter(String original) {
            if (original == null || original.length() == 0) {
                return original;
            }
            return original.trim().substring(0, 1).toUpperCase() + original.substring(1);
        }
    
  • 0
    public String capitalizeFirstLetter(String original) {
        if (original == null || original.length() == 0) {
            return original;
        }
        return original.substring(0, 1).toUpperCase() + original.substring(1);
    }
    

    只是...一个完整的解决方案,我看到它刚刚结束了所有其他人最终发布= P的结果 .

  • -3

    此外, Spring Framework 中有 org.springframework.util.StringUtils

    StringUtils.capitalize(str);
    
  • 492

    使用StringTokenizer类的示例:

    String st = "  hello all students";
    String st1;
    char f;
    String fs="";
    StringTokenizer a= new StringTokenizer(st);
    while(a.hasMoreTokens()){   
            st1=a.nextToken();
            f=Character.toUpperCase(st1.charAt(0));
            fs+=f+ st1.substring(1);
            System.out.println(fs);
    }
    
  • 1
    Simplest way to do is:
    class Test {
         public static void main(String[] args) {
            String newString="";
            String test="Hii lets cheCk for BEING String";  
            String[] splitString = test.split(" ");
            for(int i=0; i<splitString.length; i++){
                newString= newString+ splitString[i].substring(0,1).toUpperCase() 
                        + splitString[i].substring(1,splitString[i].length()).toLowerCase()+" ";
            }
            System.out.println("the new String is "+newString);
        }
     }
    

相关问题