我有这样的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("<*>#.*#</*>", "")
,但它不起作用。
答案 0 :(得分:2)
这应该有效:
string.replaceAll(">#.*?#</", "></")
默认情况下,量词*
,+
,?
,{n}
,{n,}
,{n,m}
贪婪,即它将尝试与正在重复的子模式匹配的最长字符串。在量词之后添加?
,使用上面的正则表达式作为示例:.*?
,将使其 lazy ,即它将尝试匹配子模式的最短可能字符串正在重复。
答案 1 :(得分:0)
使用string.replaceAll("#.*?#", "")