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

Java:“$1”是占位符吗?[副本]

邓子濯
2023-03-14

我得到了一个Java练习:
将camelCase编写分解为单词,例如,输入“CamelCaseTest”应该给出输出“Camel Case Test”。

我在网上找到了这个解决方案,但我并不完全了解

public static String camelCaseBetter(String input) {
    input = input.replaceAll("([A-Z])", " $1");
    return input;
}

$1做什么?我认为它只是接受要替换的字符串(A-Z)并用它自己替换它(在本例中,该方法还附加了一个空格来分隔单词)

对于$1,我找不到一个很好的解释,所以我希望这里有人能解释一下,或者分享一个链接到可以解释它的正确资源。

共有1个答案

庞书
2023-03-14

来自String类的文档:

请注意,替换字符串中的反斜杠(\)和美元符号($)可能会导致结果与将其视为文字替换字符串时不同;请参见matcher.replaceAll

来自matcher.replaceAll

替换字符串可以包含对捕获子序列的引用,如appendexplace方法中所示。

然后AppendReplacement方法:

 类似资料:
  • 类型 Glide允许用户指定三种不同类型的占位符,分别在三种不同场景使用: placeholder error fallback 占位符(Placeholder) 占位符是当请求正在执行时被展示的 Drawable 。当请求成功完成时,占位符会被请求到的资源替换。如果被请求的资源是从内存中加载出来的,那么占位符可能根本不会被显示。如果请求失败并且没有设置 error Drawable ,则占位符将

  • #{}速度快,能防止sql注入,是占位符方式,先预编译,然后填充参数,字符串格式,用户名=(___),参数只是下划线上的内容 ${}是直接拼接到语句上,这种方式需要自己拼括号和参数,但是也可以拼接想执行的任何语句,也就是传说中的sql注入 详情如下 在MyBatis中使用参数进行SQL拼装经常会使用到#{var}和${var}两种参数的设置方式。下面是两种方式的不用之处: #{var} 使用预编译

  • 问题内容: 我正在寻找实现以下目标的方法: 我可以自己编写它,但是在我看来,我曾经看过一个执行此操作的库,可能是slf4j记录器,但是我不想编写日志消息。我只想生成字符串。 您知道这是哪个图书馆吗? 问题答案: 参见方法。

  • 问题内容: 我正在尝试使用Swing创建GUI。我的问题是,我有一个文本字段,但我希望它有一个“占位符”(如html)。我在这里和那里读到,可以通过重写文本字段的paint()来完成此操作。 由于生成了我的代码,因此我发现我需要使用“自定义创建代码”来覆盖生成的代码。 这是我在“自定义创建代码”字段中输入的内容 这将产生以下输出 现在,我看到了textField,但其中没有任何内容,也许我需要在某

  • 问题内容: 我有一个不想触摸的Wordpress插件,所以我希望我的目标只能通过CSS来实现。我在Chrome开发者工具中摆弄了CSS(没有双关语),但一直到头都一团糟。 我想要的标签是在输入字段的顶部。“在顶部”表示Z-而非Y轴。以下是HTML结构。在此先感谢您动动脑筋。 问题答案: 只需进行少量标记更改和脚本,即可完成此操作 该脚本只是将用户值附加到其value属性,因此可以使用CSS设置其样

  • g似乎接受和的任何组合作为初始和后续返回类型: 然而,clang拒绝了和,他说:错误:带有尾部返回类型的函数必须指定返回类型“auto”,而不是“decltype(auto)”(演示)。 哪个编译器是正确的?在每种情况下应该使用哪条规则(或)?在尾部返回类型中使用占位符类型有意义吗?