1

我有一个 XML 文件加载到这样的字符串中

<children name="{content.type}">
    <values>{video}</values>
</children>
<children name="{content.size}">
    <values>250</values>
</children>
<children name="uploaded by">
    <values>user1</values>
</children>

我想删除名称标签中的 {},所以输出看起来像这样

<children name="content.type">
    <values>{video}</values>
</children>
<children name="content.size">
    <values>250</values>
</children>
<children name="uploaded by">
    <values>user1</values>
</children>

目前我有这个代码 -

Pattern p = Pattern.compile("([^,]*)\"\\{([^,]*)\\}\"([^,]*)");
Matcher m = p.matcher(content);
if (m.find()){
    System.out.println(m.group(1));
}

但是弦在中途被切断了。我的正则表达式有问题吗?

4

2 回答 2

3

怎么样

content.replaceAll("\\bname=\"\\{([^}]+)\\}\"", "name=\"$1\"")
于 2013-06-18T17:49:47.110 回答
2

这行得通吗?

s.replaceAll( "name=\"\\{", "name=\"" ).replaceAll( "\\}\">", "\">" )
于 2013-06-18T17:44:31.693 回答