我正在寻找一些东西来实现以下目标:
String s = "hello {}!";
s = generate(s, new Object[]{ "world" });
assertEquals(s, "hello world!"); // should be true
我可以自己写,但我似乎曾经见过这样的库,可能是slf4j记录器,但我不想写日志消息。我只想生成字符串。
你知道有一个图书馆可以做到这一点吗?
发布于 2013-06-28 20:23:52
请参见String.format
方法。
String s = "hello %s!";
s = String.format(s, "world");
assertEquals(s, "hello world!"); // should be true
发布于 2019-12-27 15:24:53
这可以在不使用库的情况下在一行中完成。请检查java.text.MessageFormat
类。
示例
String stringWithPlaceHolder = "test String with placeholders {0} {1} {2} {3}";
String formattedStrin = java.text.MessageFormat.format(stringWithPlaceHolder, "place-holder-1", "place-holder-2", "place-holder-3", "place-holder-4");
输出将是
test String with placeholders place-holder-1 place-holder-2 place-holder-3 place-holder-4
发布于 2013-06-28 20:23:01
如果您可以更改占位符的格式,则可以使用String.format()
。如果没有,您也可以将其替换为预处理。
String.format("hello %s!", "world");
有关更多信息,请访问this other thread。
https://stackoverflow.com/questions/17364632
复制相似问题