private int countChar(char searchChar, String inTargetString) { StringCharacterIterator iter = new StringCharacterIterator(inTargetString); int i = 0; if (iter.first() == searchChar) i++; while (iter.getIndex() < iter.getEndIndex()) { if (iter.next() == searchChar) { i++; } } return i; }
private String getUnicodeString(String key) { StringCharacterIterator iter= new StringCharacterIterator(key); StringBuilder result= new StringBuilder(); while (iter.getIndex() < iter.getEndIndex()) { char c= iter.current(); if (c == '\\') { iter.next(); c= iter.current(); if (c == 'u') { StringBuilder unicode= new StringBuilder(); unicode.append(iter.next()); unicode.append(iter.next()); unicode.append(iter.next()); unicode.append(iter.next()); c= (char)Integer.parseInt(unicode.toString(), 16); } } result.append(c); iter.next(); } return result.toString(); }
private String getUnicodeString(String key) { StringCharacterIterator iter= new StringCharacterIterator(key); StringBuffer result= new StringBuffer(); while (iter.getIndex() < iter.getEndIndex()) { char c= iter.current(); if (c == '\\') { iter.next(); c= iter.current(); if (c == 'u') { StringBuffer unicode= new StringBuffer(); unicode.append(iter.next()); unicode.append(iter.next()); unicode.append(iter.next()); unicode.append(iter.next()); c= (char)Integer.parseInt(unicode.toString(), 16); } } result.append(c); iter.next(); } return result.toString(); }
private String getUnicodeString(String key) { StringCharacterIterator iter= new StringCharacterIterator(key); StringBuffer result= new StringBuffer(); while (iter.getIndex() < iter.getEndIndex()) { char c= iter.current(); if (c == '\\') { iter.next(); c= iter.current(); if (c == 'u') { StringBuffer unicode= new StringBuffer(); unicode.append(iter.next()); unicode.append(iter.next()); unicode.append(iter.next()); unicode.append(iter.next()); c= (char)Integer.parseInt(unicode.toString(), 16); } } result.append(c); iter.next(); } return result.toString(); }
/** * Parses a string according to the format specified for ASCII property lists. * Such strings can contain escape sequences which are unescaped in this method. * * @param s The escaped string according to the ASCII property list format, without leading and trailing quotation marks. * @return The unescaped string in UTF-8 * @throws ParseException The string contains an invalid escape sequence. */ private static synchronized String parseQuotedString(String s) throws ParseException { StringBuilder result = new StringBuilder(); StringCharacterIterator iterator = new StringCharacterIterator(s); char c = iterator.current(); while (iterator.getIndex() < iterator.getEndIndex()) { switch (c) { case '\\': { //An escaped sequence is following result.append(parseEscapedSequence(iterator)); break; } default: { //a normal UTF-8 char result.append(c); break; } } c = iterator.next(); } //Build string return result.toString(); }