【发布时间】:2014-10-23 05:33:34
【问题描述】:
我希望我的 Java 应用程序从用户读取字符串,该字符串可能包含一些标签,例如:
String text = " value 1 = #value1 and value 2 = #value2 ";
int[] intArray = new int[] {4,5};
用户还将向应用程序输入一组值。作为一名程序员,我不知道字符串中值的确切数量。我想以编程方式生成这个字符串:
String result = " value 1 = 4 and value 2 = 5 "
为此,我实现了一种搜索#value* 正则表达式并将其替换为值堆栈中的第一个元素的方法。它循环直到程序在主字符串中找不到任何#value,问题是对于大文本,程序需要太多时间才能执行,考虑到采用的方法,这是正常的。
我还听说过一些使用 Velocity 和 FreeMarker 的模板技术,但我从未使用过它们(非常欢迎对此进行任何澄清)。
所以我的问题是:解决这个问题的最佳方法是什么(最短的执行时间)?
PS:我不需要代码,我只想要一个可以解决这个问题的方法或 API。
【问题讨论】:
-
最短执行时间?你这是什么意思?另外,你看过 String.format() 吗?
-
pft... 某些字符串操作的最短执行时间 - 您要转换多少个字符串? 10?一万? 10mio?
标签: java regex string substring template-engine