如何在嵌套标记之间获取字符串

时间:2013-02-13 09:35:19

标签: java beanshell

在项目中,我们尝试替换标签内的文本。 我们尝试从html文件中获取带有beanshell的字符串。

<code>
var testString = "<a href='test/keyword/common'>Here is our keyword which should be replaced</a><img src='test/keyword/again'/>
</code>

现在只应替换<code>a</code>标签之间的关键字。 这可以用正则表达式或子字符串或其他东西吗?

2 个答案:

答案 0 :(得分:1)

有限的案例中,您可以使用regexp执行此操作。但是,我建议使用HTML解析/操作库,例如JSoupJTidy。它将为您提供更强大且(可能)更易读/易理解的解决方案。

答案 1 :(得分:0)

public static void main(String[] args) {
        String string = "<code>var testString = <a href='test/keyword/common'>Here is our keyword which should be replaced</a><img src='test/keyword/again'/></code>";
        string = string.replaceAll("(<code>.*?)Here is our keyword which should be replaced(.*?</code>)","$1Replaced with:$2");
        System.out.println(string);
    }

试试这个:这正是你想要的,但我也建议使用HTML解析器来解析HTML标签。