Używając Java, chcę przejść przez linie tekstu i zastąpić wszystkie symbole ampersand (&
) z odwołaniem do jednostki XML &
.Jak zamienić znak w łańcuch w Javie?
Przeszukuję wiersze tekstu, a następnie każde słowo w tekście za pomocą klasy Scanner. Następnie używam CharacterIterator
do iteracji wszystkich znaków słowa. Jak jednak mogę zamienić postać? Po pierwsze, Ciągi są obiektami niezmiennymi. Po drugie, chcę zastąpić znak (&
) kilkoma znakami (amp&;
). Jak mam się do tego podejść?
CharacterIterator it = new StringCharacterIterator(token);
for(char ch = it.first(); ch != CharacterIterator.DONE; ch = it.next()) {
if(ch == '&') {
}
}
Uważaj replaceAll , ponieważ używa swojego pierwszego argumentu jako wyrażenia regularnego. To znaczy. "h.e.l.o.o" .replaceAll (".", ",") da ci ",,,,,,,,,"! W Javie 1.5 jest nowa metoda String.replace (CharSequence, CharSequence), która robi coś podobnego, ale nie interpretuje pierwszego argumentu jako wyrażenia regularnego. –