用方法的结果替换字符串中的方法名称
Replace method names in String with outcome of method
在属性文件中,我正在加载一个字符串,其中包含(带有分隔符和正则表达式)我想从 Java.
动态调用的方法名称
例如:"%getProductName%-%GetProductCode%[-]*[0-9]*\.(.+)"
当从属性文件中读取字符串时,我想在调用方法时用它们的 return 值替换方法名称(在 %% 之间)。
但我不太确定如何在 Java 中完成以下操作(最佳实践):
- 解析字符串并检索所有 %methodNames%
变量。
在检索到 String 中定义的不同方法后,我将使用 Reflection 检索结果并替换原始 String 中的这个值。
我只是在寻找一种关于解析字符串和检索不同 %methodNames%
.
的快速方法
感谢任何建议!
您可以像这样尝试正则表达式:
public static void main(String[] args) {
String s = "%getProductName%-%GetProductCode%[-]*[0-9]*\.(.+)";
Pattern p = Pattern.compile("%(.*?)%"); // capturing group to extract data between ()s
Matcher m = p.matcher(s);
while (m.find()) {
System.out.println(m.group(1));
}
}
O/P :
getProductName
GetProductCode
在属性文件中,我正在加载一个字符串,其中包含(带有分隔符和正则表达式)我想从 Java.
动态调用的方法名称例如:"%getProductName%-%GetProductCode%[-]*[0-9]*\.(.+)"
当从属性文件中读取字符串时,我想在调用方法时用它们的 return 值替换方法名称(在 %% 之间)。
但我不太确定如何在 Java 中完成以下操作(最佳实践):
- 解析字符串并检索所有 %methodNames%
变量。
在检索到 String 中定义的不同方法后,我将使用 Reflection 检索结果并替换原始 String 中的这个值。
我只是在寻找一种关于解析字符串和检索不同 %methodNames%
.
感谢任何建议!
您可以像这样尝试正则表达式:
public static void main(String[] args) {
String s = "%getProductName%-%GetProductCode%[-]*[0-9]*\.(.+)";
Pattern p = Pattern.compile("%(.*?)%"); // capturing group to extract data between ()s
Matcher m = p.matcher(s);
while (m.find()) {
System.out.println(m.group(1));
}
}
O/P :
getProductName
GetProductCode