2012-03-21 4 views
3

Javaに完全に新しく、私はreplaceAllコマンドでregexを使って遊んでいて、私が行ったやり方が最良の方法であるか疑問に思っていましたか? 私は基本的に私のファイル内 <Letter_File TIMESTAMP="0000-00-00 00:00" FILECREATOR="XXX" BRAND_ID="0" BRAND_NAME="xxxxxxxxx"> のすべての出現を検索し、<Letter_File>に置き換えることを望んでいた私は、次を使用しています:replaceallすべてのJavaのREGEX

str1 = str1.replaceAll("\\<Letter\\_File[a-zA-Z\\_\\s\\=\\\"0-9-\\:\\\"]+\\>","<Letter_File>");>

私が知りたいと思ったものを、この機能を行うための最善の方法ですまたはREGEXを短縮する方法がありますか?

フィードバックはどなたでも歓迎します。

おかげについてどのように

+0

ので、基本的にあなたがタグ XMLファイルにというタグが付いていますか? –

+0

はいいいえ基本的には、タグのすべての属性を取り除きたいと思っていますが、これはおそらく非常にノービーな方法です。 –

答えて

3

str1 = str1.replaceAll("<Letter_File[^>]+>","<Letter_File>");> 
+0

ありがとうございますこれはうまくいきます。私は、[^>]がの後に何かを探すことを前提にしていますか?私はあなたが特定の文字を入れなければならないと考えました。 a-zA-Z0-9など。 –

+0

@ Simon.Knott86: '[^>]は、'> '以外の文字を意味します。このサイトを見て:http://www.regular-expressions.info/charclass.html – Toto

+0

おかげさまで私は多くのことを助けてくれたと思うが、私の理解に^文字は " " –