List of usage examples for java.text CharacterIterator setIndex
public char setIndex(int position);
From source file:Main.java
public static void main(String[] argv) throws Exception { CharacterIterator it = new StringCharacterIterator("abcd"); char ch = it.first(); ch = it.current();/*w w w.java 2 s . c o m*/ ch = it.next(); ch = it.current(); ch = it.last(); int pos = it.getIndex(); ch = it.next(); pos = it.getIndex(); ch = it.previous(); ch = it.setIndex(1); }
From source file:XmlValueEncoder.java
/** * {@inheritDoc}//from www . ja va2 s . co m * * @see org.jboss.dna.common.text.TextDecoder#decode(java.lang.String) */ public String decode(String encodedText) { if (encodedText == null) return null; StringBuilder sb = new StringBuilder(); CharacterIterator iter = new StringCharacterIterator(encodedText); for (char c = iter.first(); c != CharacterIterator.DONE; c = iter.next()) { if (c == '&') { int index = iter.getIndex(); do { c = iter.next(); } while (c != CharacterIterator.DONE && c != ';'); // We found a closing semicolon if (c == ';') { String s = encodedText.substring(index + 1, iter.getIndex()); if (SPECIAL_ENTITIES.containsKey(s)) { sb.append(SPECIAL_ENTITIES.get(s)); continue; } if (s.length() > 0 && s.charAt(0) == '#') { try { sb.append((char) Short.parseShort(s.substring(1, s.length()))); continue; } catch (NumberFormatException nfe) { // This is possible in malformed encodings, but let it fall through } } } // Malformed encoding, restore state and pass poorly encoded data back c = '&'; iter.setIndex(index); } sb.append(c); } return sb.toString(); }