2012-01-02 4 views
3

& aposのようなタグを削除します。および& lt;'と同様のタグをJavaで置き換える

pattern=Pattern.compile("'"); 
match=pattern.matcher(line); 
match.replaceAll(""); 

しかし、動作しません。私も試しました:

line=line.replace("&",""); 
line=line.replace("apos",""); 
line=line.replace(";",""); 

しかし今回は、 delimitorない&とAPOS ....

+0

なぜそれらを削除しますか? – artbristol

+0

これらのタグを含むXMLファイルがあります...そして、SAXParserの解析中にこれらのタグの前にあるすべての文字が無視されます... – vettipayyan

+0

XMLファイル。以下の答えは現在の問題を解決しますが、最初に生成された無効なXMLの根本的な原因を調べたいと思うかもしれません。 – artbristol

答えて

1

あなたは以下のパターン削除するには、次の正規表現を試してみてください:<>'&

Pattern pattern = Pattern.compile("&(lt;|apos;|gt;|)"); 

をTESTING:

Matcher m = pattern.matcher("abc &def ' xyz< > mno"); 
System.out.printf("line=[%s]\n", m.replaceAll("")); 

出力:

1

有効な正規表現ではないためです。有効な正規表現は、次のようにする必要があります。

'&'符号。 precisely-ないような何か(

/(&)([AZ] [AZ])+(;)の代わりにApache http://commons.apache.org/lang/api-2.5/org/apache/commons/lang/StringEscapeUtils.html非常に便利から正規表現のトライアウトStringEscapeUtilsを使用しての/

ハッピーニューイヤー

+0

あなたに同じことを祈ってありがとう:)私は正規表現を学んでいます今... – vettipayyan

2

。多くの同様の目的のために

+0

ありがとうございます。私は将来それを使用します:) – vettipayyan

関連する問題