如何使用JAVA在字符串的大写字母前插入空格?

Ors*_*uni 1 java regex

我有一个String "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是一个大写字母。

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

Kai*_*ber 5

strJobname=strJobname.replaceAll("([^_])([A-Z])", "$1 $2");
Run Code Online (Sandbox Code Playgroud)

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