首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >字符串替换在子字符串中

字符串替换在子字符串中
EN

Stack Overflow用户
提问于 2012-03-18 03:39:15
回答 2查看 385关注 0票数 7

我想为Java类编写一个方法。该方法接受如下所示的XML数据字符串作为输入。

代码语言:javascript
复制
<?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字符串包含许多以<>开头和结尾的子字符串。子字符串可以包含><&'E 212。该方法需要将它们替换为E 113>E 214E 115<E 216、E 117&E 218>。E 119E 220和E 121”E 222。

在Java中是否有任何正则表达式方法来完成此任务?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-18 03:43:10

这个数据是传递给你的,还是你能控制它?如果是这样的话,那么我建议使用CDATA块。如果您对输入到xml块中的数据确实不确定,那么只需将所有数据包装在CDATA中,然后将其保存到DB中即可。

如果你没有控制这一点,那么据我所知,这将需要相当数量的编码,因为你可能需要处理的边缘情况。没有一个简单的正则表达式能够处理的事情(如果一个有效的块正在启动,如果一个块正在结束,如果你已经结束了,等等)

下面是<>案例的一个非常基本的正则表达式,但其他的我真的认为只是变得非常复杂

代码语言:javascript
复制
\<\>* //For <> changes
票数 3
EN

Stack Overflow用户

发布于 2012-03-18 03:51:42

您可以在一个例子中跟踪

  1. 通过Dom或SAX读取XML文件
  2. 用正则表达式替换字符串
  3. 用Dom或SAX编写XML文件
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9755804

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档