我的绳子跟下面一样,
{Account={type=object,id={type=integer,format=int64},enum=ENABLED,format=int64}},token={type=string}},AssetPlayerRequest={type=object,properties={assetPlayer={description=The资产播放器详细信息,{$ref=#/ details /AssetPlayer},ImageFile={type=object,properties={description={type=object},description={en19#},{$ref=#/details/URI}}
我想用地图中可用的值替换RegEx模式,如{$ref=#/definitions/URI}、{$ref=#/definitions/AssetPlayer},并使用URI、AssetPlayer等作为RegEx本身一部分的键。
如何在Java 8中实现这一点?
发布于 2017-01-03 19:52:36
在需要更多逻辑的字符串中替换事物的一般公式在Matcher#appendReplacement中。
public String bindTemplateVariables(String input) {
Pattern p = Pattern.compile("\\{\\$ref=#/definitions/(.*?)\\}");
Matcher m = p.matcher(input);
StringBuffer sb = new StringBuffer();
while (m.find()) {
String replacement = map.get(m.group(1));
m.appendReplacement(sb, replacement);
}
m.appendTail(sb);
return sb.toString();
}https://stackoverflow.com/questions/41451063
复制相似问题