使用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