Java:convert";“HelloThere”;至;您好;
我想将文本中的所有大写字母转换为下划线,下面是一些示例Java:convert";“HelloThere”;至;您好;,java,Java,我想将文本中的所有大写字母转换为下划线,下面是一些示例 HelloThere -> "hello_there" ItIsExample -> "it_is_example" 我使用了此代码,但不起作用: String regex = "([A-Z][a-z]+)"; String replacement = "$1_"; str.replaceAll(regex, replacement); return toLowerCase(str); 我使用了此代码,但不起作用 提示:J
HelloThere -> "hello_there"
ItIsExample -> "it_is_example"
我使用了此代码,但不起作用:
String regex = "([A-Z][a-z]+)";
String replacement = "$1_";
str.replaceAll(regex, replacement);
return toLowerCase(str);
我使用了此代码,但不起作用
提示:Java字符串是不可变的
这一行:
str.replaceAll(regex, replacement);
不更改str
。它返回一个新字符串。。。然后你把它扔到地板上
改为这样做:
return str.replaceAll(regex, replacement).toLowerCase();
我使用了此代码,但不起作用
提示:Java字符串是不可变的
这一行:
str.replaceAll(regex, replacement);
不更改str
。它返回一个新字符串。。。然后你把它扔到地板上
改为这样做:
return str.replaceAll(regex, replacement).toLowerCase();
您还可以使用以下选项:
"HelloThere".replaceAll("(.)(\\p{Lu})", "$1_$2").toLowerCase();
您还可以使用以下选项:
"HelloThere".replaceAll("(.)(\\p{Lu})", "$1_$2").toLowerCase();
不应该
hellother
变成hello\u那里
?不应该hellother
变成hello\u那里
?\p{Lu}用于捕获Unicode标准定义的任何大写字母。这是一个更通用的解决方案。在这里找到\p{Lu},谢谢:)是的,这是一个更通用的解决方案。\p{Lu}用于捕获Unicode标准定义的任何大写字母。这是一个更一般的解决方案。在这里找到\p{Lu},谢谢:)是的,这是一个更一般的解决方案。