1
63
最有效的方法是使用matcher不断地查找表达式并替换它们,然后将文本附加到字符串生成器:
|
2
94
我真的不认为你需要使用模板引擎或者类似的东西来完成这个任务。您可以使用
|
3
41
不幸的是,上面提到的舒适方法Strug.Frad只能从Java 1.5开始使用(现在应该是非常标准的,但你永远不知道)。相反,你也可以使用Java的 class MessageFormat 用于替换占位符。 它支持“数字”形式的占位符,因此您的消息将显示为“您好0请查找附件1,该附件将于2到期”。使用ResourceBundles可以很容易地将这些字符串外部化(例如,对于具有多个区域设置的本地化)。替换将使用messageformat类的静态“format”方法完成:
|
4
40
您可以尝试使用模板库,比如ApacheVelocity。 下面是一个例子:
输出将是: Hello Mark. Please find attached invoice 42123 which is due on June 6, 2009. |
5
23
您可以使用模板库进行复杂的模板替换。 自由标记是一个很好的选择。 http://freemarker.sourceforge.net/ 但是对于简单的任务,有一个简单的实用程序类可以帮助您。
它功能强大,可定制,易于使用。
例如,如果要将系统环境变量替换为模板字符串, 代码如下:
|
6
16
输出: 你好,加入!你有10条信息” |
7
9
|
8
8
这取决于要替换的实际数据的位置。你可能有这样的地图:
包含所有可以替换的数据。然后,您可以迭代映射并按如下方式更改字符串中的所有内容:
您还可以迭代字符串并在映射中找到元素。但这有点复杂,因为您需要解析字符串来搜索[]。您可以使用模式和匹配器使用正则表达式来实现这一点。 |
9
3
我的替换$变量样式令牌的解决方案(受此处答案和Spring UriTemplate的启发):
|
10
1
|
11
1
供参考 在新的语言Kotlin中, 您可以直接在源代码中使用“字符串模板”, 没有第三方库或模板引擎需要进行变量替换。 它是语言本身的一个特征。 见: https://kotlinlang.org/docs/reference/basic-types.html#string-templates |
12
0
过去,我用 StringTemplate 和 Groovy Templates . 最终,是否使用模板化引擎的决定应基于以下因素:
如果上面的任何一个应用于您的项目,我将考虑使用模板化引擎,其中大部分提供了这个功能,等等。 |
13
0
我用过
|
14
0
使用ApacheCommons库,您可以简单地使用 Stringutils.replaceEach :
从 documentation :
|