Mega Code Archive

 
Categories / Java / Data Type
 

Trim string from left or right

//package com.studiofortress.sf.util; /**  * A fully static class, this contains helper methods for working with strings.  *  * @author Joseph Lenton  */ public final class StringUtil {     private static final char DEFAULT_TRIM_WHITESPACE = ' ';     /**      * No Constructor.      */     private StringUtil() { }     /**      * Concatonates all the strings given together into one long string.      * @param strings An array of strings, cannot be null and cannot contain null.      * @return A string made by concatonating all the elements of strings together.      */     public static String stringConcat(String ... strings)     {         /* Add up the total length of the strings, this is a small optimization          * for when were working with lots of long strings. */         int length = 0;         for (int i = 0; i < strings.length; i++) {             length += strings[i].length();         }         // append all strings together         final StringBuilder concatString = new StringBuilder(length);         for (int i = 0; i < strings.length; i++) {             concatString.append(strings[i]);         }                  return concatString.toString();     }     /**      * Trims spaces from the left side of the string and returns the result.      * @param string The string to trim.      * @return A string with all spaces removed from the left side.      */     public static String trimLeft(String string)     {         return trimLeft( string, DEFAULT_TRIM_WHITESPACE );     }     /**      * Trims the character given from the given string and returns the result.      * @param string The string to trim, cannot be null.      * @param trimChar The character to trim from the left of the given string.      * @return A string with the given character trimmed from the string given.      */     public static String trimLeft(final String string, final char trimChar)     {         final int stringLength = string.length();         int i;                  for (i = 0; i < stringLength && string.charAt(i) == trimChar; i++) {             /* increment i until it is at the location of the first char that              * does not match the trimChar given. */         }         if (i == 0) {             return string;         } else {             return string.substring(i);         }     }     /**      * Trims spaces from the right side of the string given and returns the      * result.      * @param string The string to trim, cannot be null.      * @return A string with all whitespace trimmed from the right side of it.      */     public static String trimRight(final String string)     {         return trimRight(string, DEFAULT_TRIM_WHITESPACE);     }     /**      * Trims the character given from the right side of the string given. The      * result of this trimming is then returned.      * @param string The string to trim, cannot be null.      * @param trimChar The character to trim from the right side of the given string.      * @return The result of trimming the character given from the right side of the given string.      */     public static String trimRight(final String string, final char trimChar)     {         final int lastChar = string.length() - 1;         int i;         for (i = lastChar; i >= 0 && string.charAt(i) == trimChar; i--) {             /* Decrement i until it is equal to the first char that does not              * match the trimChar given. */         }                  if (i < lastChar) {             // the +1 is so we include the char at i             return string.substring(0, i+1);         } else {             return string;         }     }     /**      * Trims the character given from both left and right of the string given.      * For trimming whitespace you can simply use the String classes trim method.      * @param string The string to trim characters from, cannot be null.      * @param trimChar The character to trim from either side of the given string.      * @return A string with the given characters trimmed from either side.      */     public static String trim(final String string, final char trimChar)     {         return trimLeft(trimRight(string, trimChar), trimChar);     } }