groovy 使用正则表达式删除文本

eh57zj3b  于 2022-11-01  发布在  其他
关注(0)|答案(1)|浏览(155)
<Proposer>
        <Proposer_Type Val="P" Desc="Private"/>
</Proposer>

我使用groovy和regex来替换文本,我有这样的文本,我想将文本替换为

<Proposer>
        Proposer_Type;P;Private
</Proposer>

当前正在使用替换简单文本:

text = text.replace(" Val=", ";")
text= text.replace(" Desc=", ";")
text = text.replace("\"", "")

有人能帮忙吗

3yhwsihp

3yhwsihp1#

您可以使用解析器代替正则表达式

import groovy.xml.XmlSlurper
import groovy.xml.MarkupBuilder

def input = '''<Proposer>
        <Proposer_Type Val="P" Desc="Private"/>
</Proposer>'''

String xmlOutput = new XmlSlurper().parseText(input).with { xml ->
   new MarkupBuilder().Proposer(
       xml.children().collect {
           // For each child in the input, make a string
           "${it.name()}:${it.@Val.text()}:${it.@Desc.text()}"
       }.join('\n')
   )
}

但我不能百分百确定这是你想要的...

相关问题