Sử dụng lớp StringBuffer
Để thêm dấu gạch dưới trước mỗi chữ cái viết hoa trong Chuỗi bằng cách sử dụng StringBuffer -
-
Tạo một đối tượng StringBuffer trống.
-
Phương thức isUpperCase () của lớp Character chấp nhận một ký tự và xác minh xem nó có ở dạng chữ hoa hay không, nếu có, phương thức này trả về true. Sử dụng phương pháp này, xác minh từng ký tự trong chuỗi.
-
Trong trường hợp ký tự viết hoa, hãy thêm dấu gạch dưới trước nó, sử dụng phương thức append ().
Ví dụ
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); } }
Đầu ra
_Hello_How_Are_You_Welcome
Sử dụng biểu thức chính quy
Phương thức ReplaceAll () của lớp String chấp nhận hai chuỗi đại diện cho một biểu thức chính quy và một Chuỗi thay thế và thay thế các giá trị đã khớp bằng Chuỗi đã cho.
Ví dụ
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); } }
Đầu ra
_Hello_How_Are_You_Welcome