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 に答える