用java中的空格替换字符之间的值

时间:2012-05-31 11:56:01

标签: java regex

我有这样的XML,

<order_details>
   <order_count>#ordercount#</order_count>
   <value_date>#valuedate#</value_date>
   <report_date>2012-04-25</report_date>
   <from_facility>#fromfacility#</from_facility>
</order_details>

我想用#by space替换所有以#开头和结尾的值。

上述XML的输出应为

<order_details>
   <order_count></order_count>
   <value_date></value_date>
   <report_date>2012-04-25</report_date>
   <from_facility></from_facility>
</order_details>

我尝试使用string.replaceAll("<*>#.*#</*>", ""),但它不起作用。

2 个答案:

答案 0 :(得分:2)

这应该有效:

string.replaceAll(">#.*?#</", "></")

默认情况下,量词*+?{n}{n,}{n,m} 贪婪,即它将尝试与正在重复的子模式匹配的最长字符串。在量词之后添加?,使用上面的正则表达式作为示例:.*?,将使其 lazy ,即它将尝试匹配子模式的最短可能字符串正在重复。

答案 1 :(得分:0)

使用string.replaceAll("#.*?#", "")