我们如何在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()方法接受两个表示正则表达式的字符串和一个替换String,并将匹配的值替换为给定的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
猜你喜欢