Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java 문자열 내부의 각 대문자 앞에 밑줄을 추가하려면 어떻게 해야 합니까?

<시간/>

StringBuffer 클래스 사용

StringBuffer를 사용하여 문자열의 각 대문자 앞에 밑줄을 추가하려면 -

  • 빈 StringBuffer 개체를 만듭니다.

  • Character 클래스의 isUpperCase() 메서드는 문자를 받아 대문자인지 확인하고, 대문자이면 true를 반환합니다. 이 방법을 사용하여 문자열의 각 문자를 확인합니다.

  • 대문자의 경우에는 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

정규 표현식 사용

String 클래스의 replaceAll() 메서드는 정규 표현식과 교체 문자열을 나타내는 두 개의 문자열을 받아들이고 일치하는 값을 주어진 문자열로 바꿉니다.

예시

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