gpt4 book ai didi

Java 替换 xml 中的单词

转载 作者:行者123 更新时间:2023-11-30 02:56:34 27 4
gpt4 key购买 nike

我有以下 xml

<some tag>
<some_nested_tag attr="Hello"> Text </some_nested_tag>
Hello world Hello Programming
</some tag>

在上面的 xml 中,我想替换出现的单词“Hello”,它是标签内容的一部分,但不是标签属性的一部分。

我想要以下输出(用 HI 替换 Hello):

<some tag>
<some_nested_tag attr="Hello"> Text </some_nested_tag>
HI world HI Programming
</some tag>

我尝试了 java regex 以及一些 DOM 解析器教程,但没有任何运气。我在这里发帖寻求帮助,因为我在项目中修复这个问题的时间有限。如有帮助,我们将不胜感激。

最佳答案

这可以通过使用负向后查找来完成。

尝试这个正则表达式:

(?<!attr=")Hello

它将匹配前面没有 attr=Hello

所以你可以尝试这个:

str = str.replaceAll("(?<!attr=")Hello", "Hi");

也可以通过负向前瞻来完成:

Hello(?!([^<]+)?>)

关于Java 替换 xml 中的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37093762/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com