我正在构建一个配置文件,将给定的字符串替换为多个变量。我很难解释清楚,也许最好向您展示我是什么意思:
以下方法将使用字符串:Hello ~ and welcome to ~!
以下方法将使用字符串:Hello ~ and welcome to ~!
private static String REPLACE_CHAR = "~";
public static String parse(String key, String... inputs) {
int cache = matchCache.get(key, -1);
String value = customConfig.getString(key);
if (cache == -1) {
cache = StringUtils.countMatches(value, REPLACE_CHAR);
matchCache.put(key, cache);
}
for (int i = 0; i < cache; i++) {
value = value.replaceFirst(REPLACE_CHAR, inputs[i]);
}
return value;
}
如何快速地将 ~ 替换为第一个输入,然后移动到第二个 ~ 以此类推 ...
现在我没有使用别人的代码的主要原因是: 理想情况下,我想创建一个不同可替换字符的列表,这些字符将依次自动替换变量,因此在相同的代码中我能够不提供任何输入,但它将检查可替换字符列表并执行 getYourName() 等方法。 这个列表不需要每次都被检查,因此可能仍需编译模式?
我做这个不仅是为了提高效率,也是为了学习,在正则表达式方面我的能力还有所欠缺!