繁体   English   中英

我们可以在 Java 中使用 Matcher 通过正则表达式替换来更改输入字符串的大小写吗?

[英]Can we change case of an input string with regex replacement using Matcher in Java?

我想实现类似的目标,

输入:Hello world: 输出:HELLO WORLD!

我可以在 Matcher.replaceAll(replacement) 中使用什么替换字符串来实现这一点?

我知道我们可以使用函数引用,但我想使用像replaceAll("\U....something...")这样的正则表达式字符串来实现这一点

我可以看到文本编辑器中使用的一些编译器和 perl 支持转换大小写的“\U”。

我们在 Java 中有什么等价物吗?

我尝试使用 \U 但似乎不受支持。

在 Pattern class JavaDoc 中提到“与 Perl 的差异”不支持 \U。

找不到更多可用于此目的的内容。

String test = "Hello world!";
System.out.println(test.toUpperCase());

将打印: HELLO WORLD!

您可以将替换 function 传递给Matcher#replaceAll

String res = pattern.matcher(str).replaceAll(mr -> mr.group().toUpperCase());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM