Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package com.tectonica.util;
  
  import java.util.Iterator;
Miscellaneous string utility functions

Author(s):
Zach Melamed
 
 public class STR
 {
returns a comma-separated string, listing the toString() of a collection's items
 
 	public static <V> String implode(Iterable<V> values)
 	{
 		return implode(values", "false);
 	}

returns a delimiter-separated string, listing the toString() of a collection's items
 
 	public static <V> String implode(Iterable<V> valuesString delimiterboolean skipBlanks)
 	{
 		if (values == null)
 			return "";
 
 		StringBuilder sb = new StringBuilder();
 		boolean firstColumn = true;
 		for (V value : values)
 		{
 			if (value == null)
 				continue;
 			String valueAsStr = value.toString();
 			if (skipBlanks && valueAsStr.isEmpty())
 				continue;
 			if (firstColumn)
 				firstColumn = false;
 			else
 				sb.append(delimiter);
 			sb.append(valueAsStr);
 		}
 		return sb.toString();
 	}

returns a delimiter-separated string, listing the toString() of a collection's items
 
 	public static <V> String implode(final V[] valuesString delimiterboolean skipBlanks)
 	{
 		Iterable<V> a = new Iterable<V>()
 		{
 			public Iterator<V> iterator()
 			{
 				return new ArrayIterator<V>(values);
 			}
 		};
 		return implode(adelimiterskipBlanks);
 	}
 
 	private static class ArrayIterator<V> implements Iterator<V>
 	{
 		private final V[] array;
 		private int pos = 0;
 
 		public ArrayIterator(final V[] array)
 		{
 			super();
 			this. = array;
 			this. = 0;
 		}
 
 		public boolean hasNext()
 		{
 			return ( < .);
 		}
 
 		public V next()
 		{
 			if (!hasNext())
 				throw new NoSuchElementException();
 			return [++];
 		}
 
 		public void remove()
 		{
 		}
 	}

duplicates a string into a delimiter-separated format given a requested count
 
 	public static <V> String implode(V valueString delimiterint count)
	{
		if (count <= 0)
			return "";
		for (int i = 0; i < count - 1; i++)
			sb.append(value).append(delimiter);
		sb.append(value);
		return sb.toString();
	}
	public static String left(String sint count)
	{
		if (s == null)
			return null;
		return s.substring(s.length() - Math.min(s.length(), count));
	}
	public static String right(String sint count)
	{
		if (s == null)
			return null;
		return s.substring(0, Math.min(s.length(), count));
	}
	public static String leftPad(String strint targetLengthchar padChar)
	{
		return pad(strtargetLengthpadChartrue);
	}
	public static String rightPad(String strint targetLengthchar padChar)
	{
		return pad(strtargetLengthpadCharfalse);
	}
	public static String pad(String strint targetLengthchar padCharboolean padLeft)
	{
		if (str == null || str.isEmpty())
			return duplicate(padChartargetLength);
		int padsCount = targetLength - str.length();
		if (padsCount <= 0)
			return str// returns original String if longer than target length
		String padStr = duplicate(padCharpadsCount);
		return padLeft ? padStr.concat(str) : str.concat(padStr);
	}
	public static String duplicate(char padCharint repeat)
	{
		if (repeat <= 0)
			return "";
		final char[] buf = new char[repeat];
		for (int i = 0; i < buf.lengthi++)
			buf[i] = padChar;
		return new String(buf);
	}
	public static int toInt(String sint defaultValue)
	{
		try
		{
			return Integer.parseInt(s);
		}
		catch (Exception e)
		{
			return defaultValue;
		}
	}
	public static float toFloat(String sfloat defaultValue)
	{
		try
		{
			return Float.parseFloat(s);
		}
		catch (Exception e)
		{
			return defaultValue;
		}
	}
	public static double toDouble(String sdouble defaultValue)
	{
		try
		{
			return Double.parseDouble(s);
		}
		catch (Exception e)
		{
			return defaultValue;
		}
	}
	public static boolean toBoolean(String sboolean defaultValue)
	{
		boolean isFalse = (s == null) || "false".equalsIgnoreCase(s) || "0".equals(s);
		return !isFalse;
	}
New to GrepCode? Check out our FAQ X