java - 在 JAVA 中使用 char '{' 定义字符串
问题描述
我正在尝试使用一些模式标识符定义一个常量,以便以后能够在大型字符串构造中替换它,例如在复杂的查询中。
private static String SUBSTITUTE_1 = "${substitute1}";
但是当我这样做时,编译器会抱怨在“{”字符旁边有一个数字。
我的问题是:有没有办法转义字符串中的特殊字符?
private static String SUBSTITUTE_1 = "\$\{substitute1\}";
这不起作用。
这很奇怪,因为如果我像这样定义一个字符串构建器
private static String SUBSTITUTE_1 = new StringBuilder("${substitute1}").toString();
特殊字符没有问题。
除非有一些非常明显的东西我错过了这是没有意义的。
提前致谢。
解决方案
显然,Intellij 的编译器检测到我在代码中的某处使用了String.replaceAll()
指令中定义的常量,并抱怨它的定义"${x}"
不是有效的正则表达式。
解决方案是更改为String.replace()
.
推荐阅读
- javascript - 我如何通过nodejs返回获取mysql json
- swift - 使用相对文件路径对本地包的 Swift 包依赖
- java - Array 更新后更新 JcomboBox
- javascript - 将数组中的元素拆分为长度为 n 的字符串数组
- javascript - 为什么我的 ajax 表单认为它没有提交?
- docker - 如果我使用 docker hub 而不是 google image registry,会如何影响我的计费?
- python - 使用 Google API 存储可下载链接
- python - Flask SQLAlchemy 与 Flask Marshmallow 转储和加载不同的“列名”
- java - 如何正确实施 Google Play 结算库
- excel - 如何捕获 excel 自动过滤单元格颜色标准