自Java 15以来,String.format可以使用String#formatted替代。
有没有一种简单的方法可以替换它?
String.format("%s foo %s bar", bar(), foo());
在IntellIJ IDEA Ultimate中,使用这个功能是什么?
"%s foo %s bar".formatted(bar(), foo());
自Java 15以来,String.format可以使用String#formatted替代。
有没有一种简单的方法可以替换它?
String.format("%s foo %s bar", bar(), foo());
"%s foo %s bar".formatted(bar(), foo());
.*
图标,使用正则表达式替换。String.format\((\".*\")?\, ?(.*)\);
替换(在相同示例中):$1.formatted\($2\);
我必须提醒您有多个不要这样做的原因:
formatted
方法非常方便。我在我的另一个答案中描述了这一点。String\.format
String[.]format[(](.+?),
$1.formatted\(
注意,我同意被接受的答案。在大规模的正则表达式替换中,是不安全和可靠的。我可以想到一些情况,在这个答案中,如果代码稍微有一点变化,正则表达式替换就不能正常工作。
格式表达式内部包含逗号
String.format("%s foo, %s bar", bar(), foo());
Extra spaces in between
String.format ( "%s foo, %s bar", bar(), foo());
String.
format("%s foo %s bar", bar(), foo());
String.format("%s foo " +
"%s bar", bar(), foo());