Javaを使用して、テキストの行を調べ、すべてのアンパサンド記号(&
)をXMLエンティティ参照&
に置き換えたいとします。Javaの文字列の文字を置き換えるにはどうすればいいですか?
私はテキストの行を走査してから、テキスト内の各単語をScannerクラスで走査します。次に、単語の各文字を反復するのに、CharacterIterator
を使用します。しかし、私はどのように文字を置き換えることができますか?まず、文字列は不変オブジェクトです。次に、文字(&
)を複数の文字(amp&;
)に置き換えたいとします。私はこれにどのようにアプローチすべきですか?
CharacterIterator it = new StringCharacterIterator(token);
for(char ch = it.first(); ch != CharacterIterator.DONE; ch = it.next()) {
if(ch == '&') {
}
}
がでReplaceAllには注意してくださいこれは、最初の引数を正規表現として使用するためです。私。 "h.e.l.l.o" .replaceAll( "。"、 "、")はあなたに ",,,,,,,,,"を与えるでしょう! Java 1.5では、新しいString.replace(CharSequence、CharSequence)メソッドがありますが、これは似たようなことですが、最初の引数は正規表現として解釈されません。 –