gpt4 book ai didi

java - 同时遍历 ArrayList 和 String 以进行替换正则表达式

转载 作者:行者123 更新时间:2023-11-30 06:22:50 25 4
gpt4 key购买 nike

我正在读取一个包含大量标签的输入 HTML 文件,例如:

<h2 id="head-3d7e87e90500d3645e1f578a2b0fd6b4f7bd4ccf">

head-3d7e87e90500d3645e1f578a2b0fd6b4f7bd4ccf 是一些随机值。

我在 ArrayList 中有所有必要的替换,使它们看起来像,例如

<h2 id="correctAnchor"> 

但我循环遍历 ArrayList 并遍历 HTML(解析为字符串),但它总是替换最后一个值:

    for (String temp2 : myAnchorLinks) {
Pattern h2Pattern = Pattern.compile("<h2.*?>");
Matcher h2Matcher = h2Pattern.matcher(replaceAllTags);
if (h2Matcher.find()){
replaceAllTags = replaceAllTags.replace("<h2 id=.*?>", "<h2 id="+temp2+">");
}

}

知道我做错了什么或者有更好的方法吗?

“什么是维基?

我无法发布所有 HTML,但它看起来像:

ArrayList = {#blah1, #blah2, #blah3};

最佳答案

Map< String, String > replacements = new hashMap<>();
fillReplacements( replacements ); // Create associations between old and new IDs
// maybe from a properties file
for( map.Entry< String, String > e : replacements.entries()) {
htmlSource = htmlSource.replaceAll( e.getKey(), e.getValue());
}

关于java - 同时遍历 ArrayList 和 String 以进行替换正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18875061/

25 4 0