2016-11-05 176 views
0

我需要用空格替换XML格式的字符串中的所有标签。例如,在替换之后,<student x = 100>Nick Miles</student>将变为Nick Miles,在Nick Miles左右有两个空格。我试过str.replaceAll("<ref.*?>", " ")str.replaceAll(</ref>, " ")提取标签之间的内容

它适用于大多数情况。但是,如果ref后面没有>,则文本中的内容将被删除。我知道是关于贪婪的限定词,但我只是没有解决它。有人可以提出一个可能的解决方案吗

+0

使用一个懒惰的修饰符,所以'。*?',不是一个所有格。 –

回答

1

为什么要使用贪心量词呢?你想要的恰恰相反:一旦遇到第一个>,正则表达式会停止匹配.*。这是一个lazy量词。只需将+替换为?,即可完成。