加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 子串中的字符串替换

发布时间:2020-12-15 00:45:18 所属栏目:Java 来源:网络整理
导读:我想为 Java类编写一个方法.该方法接受如下给出的XML数据串作为输入. ?xml version="1.0" encoding="UTF-8"?library book name Programming in ANSI C /name author Balaguruswamy /author comment This comment may contain xml entities such as , and . /
我想为 Java类编写一个方法.该方法接受如下给出的XML数据串作为输入.
<?xml version="1.0" encoding="UTF-8"?>
<library>

    <book>
        <name> <> Programming in ANSI C <> </name>
        <author> <>  Balaguruswamy <> </author>
        <comment> <> This comment may contain xml entities such as &,< and >. <> </comment>
    </book>

    <book>
        <name> <> A Mathematical Theory of Communication <> </name>
        <author> <> Claude E. Shannon <> </author>
        <comment> <> This comment also may contain xml entities. <> </comment>
    </book>

    <!-- This library contains more than ten thousand books. -->
</library>

XML字符串包含许多以<>开头和结尾的子字符串.子串可以包含XML实体,例如>,<,&,'和“.该方法需要用& gt;,& lt;,& amp;.&和&来代替它们.分别. Java中是否有任何正则表达式方法来完成此任务?

解决方法

这些数据是传递给您的,还是您可以控制它?如果是这样,那么我建议使用 CDATA块.如果您真的不确定输入到xml块中的数据,那么只需将所有内容都包装在CDATA中,然后再将其保存到数据库中

如果你无法控制这个,那么就我所知,由于你可能需要处理的边缘情况的数量,这将需要相当多的编码.不是一个简单的正则表达式能够处理的东西(如果一个有效的块开始,如果一个结束,如果一个已经结束,等等)

这是<>的一个非常基本的正则表达式案件,但其余我真的相信只是变得非常复杂

&;&;* //For <> changes

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读