您可以使用正则表达式将名称拆分为多个单词,然后将第一个大写:
public static void main(String[] args) {
String input = "removeProduct";
//split into words
String[] words = input.split("(?=[A-Z])");
words[0] = capitalizeFirstLetter(words[0]);
//join
StringBuilder builder = new StringBuilder();
for ( String s : words ) {
builder.append(s).append(" ");
}
System.out.println(builder.toString());
}
private static String capitalizeFirstLetter(String in) {
return in.substring(0, 1).toUpperCase() + in.substring(1);
}
请注意,这需要更好的特殊情况处理,例如不要在末尾添加空格并处理1个字符的单词。
:我的意思是解释正则表达式。正则表达式(?=[A-Z])
是零宽度的断言(正向超前),与下一个字符在“ A”和“ Z”之间的位置匹配。