List of usage examples for java.text CharacterIterator getIndex
public int getIndex();
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();/* www . j a v a 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:com.woonoz.proxy.servlet.UrlRewriterImpl.java
private static String removeLeadingSlashes(final String text) { if (text.isEmpty()) { return text; }/*from www .j a va2s.co m*/ final CharacterIterator it = new StringCharacterIterator(text); Character c = it.first(); while (c.equals('/')) { c = it.next(); } return text.substring(it.getIndex()); }
From source file:com.woonoz.proxy.servlet.UrlRewriterImpl.java
private static String removeTrailingSlashes(final String text) { if (text.isEmpty()) { return text; }/* w w w. j a v a2 s .co m*/ final CharacterIterator it = new StringCharacterIterator(text); Character c = it.last(); while (c.equals('/')) { c = it.previous(); } return text.substring(0, it.getIndex() + 1); }
From source file:XmlValueEncoder.java
/** * {@inheritDoc}//from w w w . j av a 2s. c om * * @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(); }