【发布时间】:2012-05-11 20:15:37
【问题描述】:
我的字符串看起来像这样:“您可以在 [ 开始日期 + 30] 之前使用促销活动”。我需要用实际日期替换 [ Start Date + 30] 占位符 - 这是销售的开始日期加上 30 天(或任何其他数字)。 [Start Date] 也可以单独出现而无需添加数字。此外,占位符内的任何额外空格都应被忽略,并且不会导致替换失败。
在 Java 中最好的方法是什么?我正在考虑查找占位符的正则表达式,但不确定如何进行解析部分。如果只是 [Start Date] 我会使用 String.replaceAll() 方法,但我不能使用它,因为我需要解析表达式并添加天数。
【问题讨论】:
-
查看 MessageFormat.format javadocs,我想它是最适合进行文本替换的类。