Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

เราจะเพิ่มขีดล่างก่อนตัวพิมพ์ใหญ่แต่ละตัวใน java String ได้อย่างไร


การใช้คลาส StringBuffer

การเพิ่มขีดล่างหน้าอักษรตัวพิมพ์ใหญ่ในสตริงโดยใช้ StringBuffer -

  • สร้างวัตถุ StringBuffer ว่าง

  • เมธอด isUpperCase() ของคลาส Character ยอมรับอักขระหนึ่งตัวและตรวจสอบว่าเป็นตัวพิมพ์ใหญ่หรือไม่ ถ้าเป็นเช่นนั้น เมธอดนี้จะคืนค่าเป็นจริง ใช้วิธีนี้ ตรวจสอบอักขระแต่ละตัวในสตริง

  • ในกรณีของตัวพิมพ์ใหญ่ให้เติมขีดล่างก่อนโดยใช้วิธี append()

ตัวอย่าง

public class Adding_BeforeCapital {
   public static void main(String args[]) {
      String str = "HelloHowAreYouWelcome";
      StringBuffer sb = new StringBuffer();
      for (int i = 0; i < str.length(); i++) {
         if(Character.isUpperCase(str.charAt(i))) {
            sb.append("_");
            sb.append(str.charAt(i));
         } else {
            sb.append(str.charAt(i));
         }
      }
      String result = sb.toString();
      System.out.println(result);
   }
}

ผลลัพธ์

_Hello_How_Are_You_Welcome

การใช้นิพจน์ทั่วไป

วิธีการreplaceAll() ของคลาส String ยอมรับสองสตริงที่แสดงนิพจน์ทั่วไปและสตริงการแทนที่ และแทนที่ค่าที่ตรงกันด้วยสตริงที่กำหนด

ตัวอย่าง

public class Adding_BeforeCapital {
   public static void main(String args[]) {
      String str = "HelloHowAreYouWelcome";
      String result = str.replaceAll("()([A-Z])", "$1_$2");
      System.out.println(result);
   }
}

ผลลัพธ์

_Hello_How_Are_You_Welcome