Java:
การทำให้ตัวอักษรเป็นตัวพิมพ์ใหญ่ในสตริง
วิธีการ:
ไลบรารีมาตรฐานของ Java ไม่ได้มีวิธีโดยตรงในการทำให้สตริงทั้งหมดเป็นตัวพิมพ์ใหญ่ในครั้งเดียว แต่คุณสามารถทำได้ด้วยการผสมผสานวิธีการที่มีอยู่ สำหรับความต้องการที่ซับซ้อนยิ่งขึ้น ไลบรารีอื่นๆ เช่น Apache Commons Lang มอบวิธีแก้ไขที่ชัดเจน
การใช้วิธีการที่มีใน Java
เพื่อทำให้สตริงเป็นตัวพิมพ์ใหญ่โดยไม่ต้องใช้ไลบรารีภายนอก คุณสามารถแยกสตริงออกเป็นคำ ทำให้ตัวอักษรตัวแรกของแต่ละคำเป็นตัวพิมพ์ใหญ่ แล้วจึงรวมกลับเข้าด้วยกัน นี่คือวิธีการง่ายๆ:
public class CapitalizeString {
public static void main(String[] args) {
String text = "hello, world!";
String capitalizedText = capitalizeWords(text);
System.out.println(capitalizedText); // แสดงผล: "Hello, World!"
}
public static String capitalizeWords(String str) {
char[] chars = str.toLowerCase().toCharArray();
boolean found = false;
for (int i = 0; i < chars.length; i++) {
if (!found && Character.isLetter(chars[i])) {
chars[i] = Character.toUpperCase(chars[i]);
found = true;
} else if (Character.isWhitespace(chars[i]) || chars[i]=='.' || chars[i]=='\'') {
found = false;
}
}
return String.valueOf(chars);
}
}
โค้ดตัวอย่างนี้แปลงสตริงทั้งหมดเป็นตัวพิมพ์เล็ก จากนั้นจะวนซ้ำผ่านแต่ละอักขระ เพื่อทำให้ตัวอักษรตัวแรกของแต่ละคำเป็นตัวพิมพ์ใหญ่ มันถือว่าช่องว่าง จุด และอัญประกาศเป็นตัวแบ่งคำ
การใช้ Apache Commons Lang
ไลบรารี Apache Commons Lang มอบวิธีแก้ไขที่ง่ายดายกว่าด้วยเมทอด WordUtils.capitalizeFully()
ซึ่งจัดการกับกรณีพิเศษต่างๆ และตัวแบ่งคำให้คุณ:
// เพิ่มการอ้างอิง: org.apache.commons:commons-lang3:3.12.0
import org.apache.commons.text.WordUtils;
public class CapitalizeString {
public static void main(String[] args) {
String text = "hello, world!";
String capitalizedText = WordUtils.capitalizeFully(text);
System.out.println(capitalizedText); // แสดงผล: "Hello, World!"
}
}
เพื่อใช้เมทอดนี้ คุณต้องเพิ่มไลบรารี Apache Commons Lang ไปยังโปรเจกต์ของคุณ ไลบรารีเมทอดนี้ไม่เพียงแต่ทำให้ตัวอักษรตัวแรกของแต่ละคำเป็นตัวพิมพ์ใหญ่ แต่ยังแปลงตัวอักษรที่เหลือในแต่ละคำเป็นตัวพิมพ์เล็ก โดยรับประกันรูปแบบการทำให้พิมพ์ใหญ่ที่สอดคล้องกันตลอดทั้งสตริง