我有一个字符串"nameOfThe_String"。字符串的第一个字母应为大写。所以我用过

String strJobname="nameOfThe_String"; strJobname=strJobname.substring(0,1).toUpperCase()+strJobname.substring(1);

现在,我需要在大写字母之前插入空格。所以,我用

strJobname=strJobname.replaceAll("(.)([A-Z])", "$1 $2");

但是在这里,我需要将输出作为"Name Of The_String"。在'_'之后,即使S是大写字母,我也不需要任何空格。

我怎样才能做到这一点?请帮我解决一下这个。

最佳答案

strJobname=strJobname.replaceAll("([^_])([A-Z])", "$1 $2");


^字符作为方括号中的第一个字符表示:不是此字符。因此,在第一个方括号组中,您说:不是_的任何字符。
但是,请注意,您的正则表达式可能还会在连续的大写字母之间插入空格。

07-26 01:07