public static List<String> parseDelimitedList(String s) { List<String> result = new ArrayList<String>(); if (StringUtils.isNotEmpty(s)) { StringCharacterIterator iterator = new StringCharacterIterator(s); char c = iterator.first(); StringBuilder strb = new StringBuilder(); boolean insideExpression = false; while (c != StringCharacterIterator.DONE) { if (c == '{' || c == '$') { insideExpression = true; } else if (c == '}') { insideExpression = false; } else if (c == ',' && !insideExpression) { result.add(strb.toString().trim()); strb.delete(0, strb.length()); } if (c != ',' || (insideExpression)) { strb.append(c); } c = iterator.next(); } if (strb.length() > 0) { result.add(strb.toString().trim()); } } return result; }
char c = iterator.first();
char c = iterator.first();
public static String decode(String original) { if (original == null || original.length() == 0) return original; boolean changedString = false; int copyTo = 0; // it will always be less than the original char[] chars = new char[original.length()]; StringCharacterIterator iter = new StringCharacterIterator(original); for(char c = iter.first(); c != CharacterIterator.DONE; c = iter.next()) { if (c == '&') { changedString = true; copyTo = base64decode(chars, copyTo, iter); } else { chars[copyTo++] = c; } } // now create our string from the char array if (changedString) { return new String(chars, 0, copyTo); } else { return original; } }
public static String decode(String original) { if (original == null || original.length() == 0) return original; boolean changedString = false; int copyTo = 0; // it will always be less than the original char[] chars = new char[original.length()]; StringCharacterIterator iter = new StringCharacterIterator(original); for(char c = iter.first(); c != CharacterIterator.DONE; c = iter.next()) { if (c == '&') { changedString = true; copyTo = base64decode(chars, copyTo, iter); } else { chars[copyTo++] = c; } } // now create our string from the char array if (changedString) { return new String(chars, 0, copyTo); } else { return original; } }
private String leftPad(String stringToPad, String padder, Integer size) { final StringBuilder sb = new StringBuilder(size.intValue()); final StringCharacterIterator sci = new StringCharacterIterator(padder); while (sb.length() < (size.intValue() - stringToPad.length())) { for (char ch = sci.first(); ch != CharacterIterator.DONE; ch = sci.next()) { if (sb.length() < (size.intValue() - stringToPad.length())) { sb.insert(sb.length(), String.valueOf(ch)); } } } return sb.append(stringToPad).toString(); }
import java.text.StringCharacterIterator; // ... public static boolean isPal(String s) { StringCharacterIterator it = new StringCharacterIterator(s); String reversed = "" for (char c = it.first(); c != CharacterIterator.DONE; c = it.next()) { reversed = c + reversed; } return reversed.equals(s); }
public static String escape(String source, char[] escapeCharacters) { StringBuffer escapedBuffer = new StringBuffer(); StringCharacterIterator it = new StringCharacterIterator(source); for (char c = it.first(); c != CharacterIterator.DONE; c = it.next()) { /* * 92 is \ 37 is % 33 is A 126 is ~ */ boolean escaped = false; if (c < 33 || c > 126 || c == 92 || c == 37) { escapedBuffer.append(String.format("%%U%04X", (int) c)); escaped = true; } if (!escaped) { for (char esc : escapeCharacters) { if (c == esc) { escapedBuffer.append(String.format("%%U%04X", (int) c)); escaped = true; break; } } } if (!escaped) escapedBuffer.append(c); } return escapedBuffer.toString(); }
public static List<String> parseDelimitedList(String s) { List<String> result = new ArrayList<String>(); if (StringUtils.isNotEmpty(s)) { StringCharacterIterator iterator = new StringCharacterIterator(s); char c = iterator.first(); StringBuilder strb = new StringBuilder(); boolean insideExpression = false; while (c != StringCharacterIterator.DONE) { if (c == '{' || c == '$') { insideExpression = true; } else if (c == '}') { insideExpression = false; } else if (c == ',' && !insideExpression) { result.add(strb.toString().trim()); strb.delete(0, strb.length()); } if (c != ',' || (insideExpression)) { strb.append(c); } c = iterator.next(); } if (strb.length() > 0) { result.add(strb.toString().trim()); } } return result; }
public static List<String> parseDelimitedList(String s) { List<String> result = new ArrayList<String>(); if (StringUtils.isNotEmpty(s)) { StringCharacterIterator iterator = new StringCharacterIterator(s); char c = iterator.first(); StringBuilder strb = new StringBuilder(); boolean insideExpression = false; while (c != StringCharacterIterator.DONE) { if (c == '{' || c == '$') { insideExpression = true; } else if (c == '}') { insideExpression = false; } else if (c == ',' && !insideExpression) { result.add(strb.toString().trim()); strb.delete(0, strb.length()); } if (c != ',' || (insideExpression)) { strb.append(c); } c = iterator.next(); } if (strb.length() > 0) { result.add(strb.toString().trim()); } } return result; }
private static String expandOverride(String pattern, String override) { if (override.indexOf('=') >= 0) { return override; } boolean inQuotes = false; char prevChar = ' '; StringBuilder result = new StringBuilder(); StringCharacterIterator it = new StringCharacterIterator(pattern); for (char c = it.first(); c!= StringCharacterIterator.DONE; c = it.next()) { if ( c == QUOTE ) { inQuotes = !inQuotes; prevChar = c; continue; } if ( !inQuotes && c != prevChar ) { if (result.length() > 0) { result.append(";"); } result.append(c); result.append("="); result.append(override); } prevChar = c; } return result.toString(); } /**
public static String decode(String original) { if (original == null || original.length() == 0) return original; boolean changedString = false; int copyTo = 0; // it will always be less than the original char[] chars = new char[original.length()]; StringCharacterIterator iter = new StringCharacterIterator(original); for(char c = iter.first(); c != CharacterIterator.DONE; c = iter.next()) { if (c == '&') { changedString = true; copyTo = base64decode(chars, copyTo, iter); } else { chars[copyTo++] = c; } } // now create our string from the char array if (changedString) { return new String(chars, 0, copyTo); } else { return original; } }
public static String decode(String original) { if (original == null || original.length() == 0) return original; boolean changedString = false; int copyTo = 0; // it will always be less than the original char[] chars = new char[original.length()]; StringCharacterIterator iter = new StringCharacterIterator(original); for(char c = iter.first(); c != CharacterIterator.DONE; c = iter.next()) { if (c == '&') { changedString = true; copyTo = base64decode(chars, copyTo, iter); } else { chars[copyTo++] = c; } } // now create our string from the char array if (changedString) { return new String(chars, 0, copyTo); } else { return original; } }
public static String decode(String original) { if (original == null || original.length() == 0) return original; boolean changedString = false; int copyTo = 0; // it will always be less than the original char[] chars = new char[original.length()]; StringCharacterIterator iter = new StringCharacterIterator(original); for(char c = iter.first(); c != CharacterIterator.DONE; c = iter.next()) { if (c == '&') { changedString = true; copyTo = base64decode(chars, copyTo, iter); } else { chars[copyTo++] = c; } } // now create our string from the char array if (changedString) { return new String(chars, 0, copyTo); } else { return original; } }
public static String decode(String original) { if (original == null || original.length() == 0) return original; boolean changedString = false; int copyTo = 0; // it will always be less than the original char[] chars = new char[original.length()]; StringCharacterIterator iter = new StringCharacterIterator(original); for(char c = iter.first(); c != CharacterIterator.DONE; c = iter.next()) { if (c == '&') { changedString = true; copyTo = base64decode(chars, copyTo, iter); } else { chars[copyTo++] = c; } } // now create our string from the char array if (changedString) { return new String(chars, 0, copyTo); } else { return original; } }
public static String decode(String original) { if (original == null || original.length() == 0) return original; boolean changedString = false; int copyTo = 0; // it will always be less than the original char[] chars = new char[original.length()]; StringCharacterIterator iter = new StringCharacterIterator(original); for(char c = iter.first(); c != CharacterIterator.DONE; c = iter.next()) { if (c == '&') { changedString = true; copyTo = base64decode(chars, copyTo, iter); } else { chars[copyTo++] = c; } } // now create our string from the char array if (changedString) { return new String(chars, 0, copyTo); } else { return original; } }
public static String decode(String original) { if (original == null || original.length() == 0) return original; boolean changedString = false; int copyTo = 0; // it will always be less than the original char[] chars = new char[original.length()]; StringCharacterIterator iter = new StringCharacterIterator(original); for(char c = iter.first(); c != CharacterIterator.DONE; c = iter.next()) { if (c == '&') { changedString = true; copyTo = base64decode(chars, copyTo, iter); } else { chars[copyTo++] = c; } } // now create our string from the char array if (changedString) { return new String(chars, 0, copyTo); } else { return original; } }
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; }
package com.sandbox; import org.junit.Test; import java.text.CharacterIterator; import java.text.StringCharacterIterator; import static org.junit.Assert.assertEquals; public class SandboxTest { @Test public void testMocking() { assertEquals("foo", stringBits("f1o2o3")); } public String stringBits(String str) { StringBuilder buf = new StringBuilder(); StringCharacterIterator iterator = new StringCharacterIterator(str); for (char c = iterator.first(); c != CharacterIterator.DONE; c = iterator.next()) { buf.append(c); iterator.next(); } return buf.toString(); } }
StringTokenizer(String value, char delim) { string = value; // Loop on the characters counting the separators and remembering // their positions StringCharacterIterator sci = new StringCharacterIterator(string); char c = sci.first(); while (c != CharacterIterator.DONE) { if (c == delim) { // Remember its position separatorPosition[tokens] = sci.getIndex(); tokens++; // Resize the position array if needed if (tokens >= separatorPosition.length) { int[] copy = new int[separatorPosition.length * 10]; System.arraycopy(separatorPosition, 0, copy, 0, separatorPosition.length); separatorPosition = copy; } } c = sci.next(); } // Add one token: tokens = separatorCount + 1 tokens++; }