通过符号格式化字符串
format a String by a notation
我有如下字符串:
Filed Id is invalid, value = {} and valid ranges = '{},{},{}'
我想在运行时用自定义值替换 {}
。
我在 SLF4J
中看到了这种模式,真正的问题是:是否有第三方实用程序支持此要求而不是使用 String.replace
?
根据JB Nizet的建议,java.text.MessageFormat可以做到,String.format()
SLF4J 使用 org.slf4j.helpers.MessageFormatter 所以我想你也可以使用它。
我个人认为 org.apache.commons.lang3.text.StrSubstitutor 如果您需要一些高级格式设置,它非常方便且功能强大。例如,您可以将命名值(键值)的 Map 作为参数传递,或实现您自己的查找(我这样做是为了确保每个占位符都收到一个值)。您还可以指定替换变量的格式({varible}、__variable__、#variable# 或 %{variable})等。话虽如此,您必须明确命名按摩变量才能使用它。
我有如下字符串:
Filed Id is invalid, value = {} and valid ranges = '{},{},{}'
我想在运行时用自定义值替换 {}
。
我在 SLF4J
中看到了这种模式,真正的问题是:是否有第三方实用程序支持此要求而不是使用 String.replace
?
根据JB Nizet的建议,java.text.MessageFormat可以做到,String.format()
SLF4J 使用 org.slf4j.helpers.MessageFormatter 所以我想你也可以使用它。
我个人认为 org.apache.commons.lang3.text.StrSubstitutor 如果您需要一些高级格式设置,它非常方便且功能强大。例如,您可以将命名值(键值)的 Map 作为参数传递,或实现您自己的查找(我这样做是为了确保每个占位符都收到一个值)。您还可以指定替换变量的格式({varible}、__variable__、#variable# 或 %{variable})等。话虽如此,您必须明确命名按摩变量才能使用它。