【发布时间】:2020-04-15 19:56:24
【问题描述】:
我想要一个 Java 方法来替换 xml 元素名称中的前导数字。例如<1396-tt5m>25K</1396-tt5m>需要转换为<a-tt5m>25K</a-tt5m>。请看一下我的方法:
public static String removeLeadNumbersFromXMLTagElements(String xml) throws TransformerException {
Pattern p = Pattern.compile("(<[^>]*?[^[0-9]][^>]*?>)");
Matcher m = p.matcher(xml);
StringBuffer result = new StringBuffer();
while (m.find()) {
String replace = m.group().replaceAll("[^[0-9]]+", "a");
m.appendReplacement(result, replace);
}
m.appendTail(result);
return result.toString();
}
但是我的方法的结果是:<a-ttam>25K</a-ttam>。你能帮助正确的正则表达式吗?提前谢谢你。
【问题讨论】: