java在字符串对象的大写字母前插入空格
我需要编写一个程序,其中用户输入一个对象字符串,如“HelloIamYourNeighbor” 并返回“你好,我是你的邻居”
到目前为止,我已经能够将大写字母转换为小写字母,但在大写字母之间插入空格时遇到了问题
for (int i = 0; i < input.length(); i++) {
if (input.contains("(?=\\p{Lu})")) {
str.append(" ");
}
if (Character.isUpperCase(input.charAt(i)) && i != 0) {
str.setCharAt(i, Character.toLowerCase(input.charAt(i)));
}
}
System.out.println(str);
# 1 楼答案
假设“str”是StringBuilder或StringBuffer,则需要删除“input.contains”复选框并在其中添加str.append。您还需要将str.setCharAt更改为以下内容:
基本上,它说的是“如果它是大写字母,请附加一个空格,然后是小写值,否则只需按原样附加它。”
# 2 楼答案
一行:
()
-这是捕获组,与大写字母匹配 它用空格和匹配的字母替换了这个匹配# 3 楼答案
我会这样做: