当前位置: 首页 > 知识库问答 >
问题:

java中CamelCase转换为camel_case的正则表达式

禄星腾
2023-03-14

我理解为什么在使用regex将foobar这样的字符串转换为foo_bar时没有给出所需的输出,而后者给出的是foo_bar_。我本可以用string.substringsubstring(0,string.length()-2)做一些事情,或者只是替换最后一个字符,但我认为对于这样的场景有更好的解决方案。

代码如下:

String regex = "([A-Z][a-z]+)";
String replacement = "$1_";

"CamelCaseToSomethingElse".replaceAll(regex, replacement); 

/*
outputs: Camel_Case_To_Something_Else_
desired output: Camel_Case_To_Something_Else
*/

问题:正在寻找一种更整洁的方法来获得所需的输出?

共有1个答案

胡高寒
2023-03-14

请参阅此问题和guava的caseformat

在您的情况下,类似于:

CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, "SomeInput");
 类似资料:
  • 问题内容: 我明白了为什么使用正则表达式的字符串转换一样没有给出所需的输出到这反而给了。我可以用String.substring做一些事情,或者只是替换最后一个字符,但是我认为有一种更好的解决方案。 这是代码: 问题:正在寻找一种更整洁的方式来获得所需的输出? 问题答案: 看到这个问题,从番石榴 就您而言,类似:

  • 我试图将js代码转换为java版本,但对正则表达式有点困惑:在js中,我有一个类似于:testString的表达式。拆分(“/(\w*\d)/g”) 我可以在java中使用什么等效语言?我试着用匹配器得到同样的结果。find()和split函数,但结果不一样。

  • 问题内容: 我目前正在将Web应用程序代码从PHP移植到JS。 我对此正则表达式有疑问。从PHP 这样使用 如何将其转换为在JS上工作? 先感谢您 问题答案: 没什么特别的。PHP regex语法与JavaScript中的语法非常相似: 您可以从 MDN的 本手册中找到有关JavaScript 中正 则表达式的更多信息:https : //developer.mozilla.org/en- US/

  • 问题内容: 我知道regEx在各种语言中都很常见…但是我在编写Java语法时遇到了麻烦。我有一个用JS编码的正则表达式; 如何用Java编写相同的代码? 我已经进口了 只是要补充一点,根据我的尝试,它说\ x是无效的转义字符。 问题答案: 将开头和结尾字符更改为,然后将其替换为。 与JavaScript,Perl和其他脚本语言不同,Java对正则表达式没有特殊的语法。相反,它们(通常)使用Java

  • 问题内容: 您如何将该Perl正则表达式转换为Java? 编译时,对我而言它不匹配“ PattErn”,但失败 问题答案: 您如何将该Perl正则表达式转换为Java? 你不能 造成这种情况的原因很多。这里有一些: Java不像Perl那样支持正则表达式语言。它缺少字形支持(如和完整属性支持(如),缺少Unicode命名字符,没有分支重置运算符,在Java 7之前没有命名捕获组或逻辑转义,没有递归

  • 昨天,我需要向正则表达式添加一个文件路径,创建一个如下所示的模式: 一开始正则表达式不匹配,因为包含几个正则表达式特定的符号,如 或 。作为快速修复,我将它们替换为 和 . 与 . 然而,我问自己,是否没有一种更可靠或更好的方法来清除正则表达式特定符号中的字符串。 Python 标准库中是否支持此类功能? 如果没有,您是否知道一个正则表达式来识别所有正则表达式并通过替代品清理它们?