问题:转
"My Testtext TARGETSTRING My Testtext"
进入
"My Testtext targetstring My Testtext"
Perl 支持可以在替换字符串中使用的“\L”操作。
Pattern-Class 不支持这个操作:
此类不支持的 Perl 构造:[…] 预处理操作 \l \u、\L 和 \U。 https://docs.oracle.com/javase/10/docs/api/java/util/regex/Pattern.html
原文由 Andreas 发布,翻译遵循 CC BY-SA 4.0 许可协议
您不能在 Java 正则表达式中执行此操作。您必须使用
String.toUpperCase()
和toLowerCase()
进行手动后处理。这是一个示例,说明如何使用正则表达式查找句子中长度至少为 3 的单词并将其大写
注意
appendReplacement
和appendTail
Note that the above solution uses
substring
and manages atail
index, etc. In fact, you can go without these if you useMatcher.appendReplacement
andappendTail
。注意
sb
现在是StringBuffer
而不是StringBuilder
。直到Matcher
提供StringBuilder
重载,如果你想使用这些方法,你就只能使用较慢的StringBuffer
。以较低的效率换取更高的可读性是否值得,这取决于您。
也可以看看
StringBuilder
和StringBuffer
在 Java 中