HOWTO · Java

如何在 Java 中大寫字串的首字母

本教程演示瞭如何在 Java 中使用不同方法將字串的首字母大寫,並有詳盡的描述和示例。

本教程文章將介紹如何使用 Java 將字串的首字母大寫。有一些常用的方法用於將給定 string 值的第一個字母轉換為大寫。不同的方法有 upperCaseFirst()toCharArray()toUpperCase()appendTail() 方法,String.substring() 方法和 capitalize() 函式與 String.substring() 方法。讓我們通過例項來討論每個方法的實現。

使用 upperCaseFirst()toCharArray() 方法相關聯的字串首字母大寫

在這個過程中,我們引入了 upperCaseFirst() 方法,該方法接收一個字串值並將其轉換為一個字元陣列。然後,我們使用 Character 類和 toUpperCase() 方法對字元陣列中的第一個元素進行大寫。最後,我們使用 String 建構函式將更新後的字元陣列轉換為字串。讓我們按照下面的例子進行操作。

import java.io.*;
import java.lang.*;
import java.util.*;

public class Main {
  public static String upperCaseFirst(String val) {
    char[] arr = val.toCharArray();
    arr[0] = Character.toUpperCase(arr[0]);
    return new String(arr);
  }

  public static void main(String[] args) {
    String val1 = "java";
    String val2 = "advanced java";

    String output = upperCaseFirst(val1);
    System.out.println(val1);
    System.out.println(output);

    output = upperCaseFirst(val2);
    System.out.println(val2);
    System.out.println(output);
  }
}

輸出:

java
Java
advanced java
Advanced java

使用 toUpperCase()appendTail() 方法將字串的首字母大寫

在輸出時,有兩個不同的方法出現,即 toUpperCase()appendTail()。為了在一個應用程式中實現這兩個方法,需要匯入 regex.Matcherregex.Pattern 包。下面的例子將詳細解釋這些方法。

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Main {
  public static void main(String[] args) {
    String str = "hello world!";
    System.out.println(str);
    StringBuffer strbf = new StringBuffer();
    Matcher match = Pattern.compile("([a-z])([a-z]*)", Pattern.CASE_INSENSITIVE).matcher(str);
    while (match.find()) {
      match.appendReplacement(strbf, match.group(1).toUpperCase() + match.group(2).toLowerCase());
    }
    System.out.println(match.appendTail(strbf).toString());
  }
}

輸出:

hello world!
Hello World!

使用 String.substring()將字串的首字母大寫

最簡單和最容易的技巧是使用 String.substring() 方法來大給定字串的首字母。讓我們通過下面的例子來進行介紹。

import java.util.*;

public class Main {
  public static void main(String[] args) {
    String str = "java";
    String firstLtr = str.substring(0, 1);
    String restLtrs = str.substring(1, str.length());

    firstLtr = firstLtr.toUpperCase();
    str = firstLtr + restLtrs;
    System.out.println("The modified string is: " + str);
  }
}

輸出:

The modified string is: Java

在上面的例子中, 我們建立了一個字串變數 - str. 然後我們從 str 形成兩個子字串,其中 firstLtr 代表字串的第一個字母,restLtrs 代表字串的剩餘字母。在結尾部分,我們使用 toUpperCase() 方法將 firstLtr 轉換為大寫,並將兩個子字串連線起來形成字串本身。

使用 String.substring() 方法用函式 capitalize() 將字串的首字母大寫

在最後一個例子中,我們將使用 capitalize() 函式來確保給定的字串在使用 String.substring() 方法之前至少有一個字元。

import java.util.*;

public class Main {
  public static String capitalize(String str) {
    if (str == null || str.isEmpty()) {
      return str;
    }
    return str.substring(0, 1).toUpperCase() + str.substring(1);
  }

  public static void main(String[] args) {
    String str = "hello world!";
    String firstLtr = str.substring(0, 1);
    String restLtrs = str.substring(1, str.length());

    firstLtr = firstLtr.toUpperCase();
    str = firstLtr + restLtrs;
    System.out.println("The modified string is: " + str);
  }
}

輸出:

The modified string is: Hello world!