Trim any of the characters : String Strip « Data Type « Java






Trim any of the characters

        

/*
 * Static String formatting and query routines.
 * Copyright (C) 2001-2005 Stephen Ostermiller
 * http://ostermiller.org/contact.pl?regarding=Java+Utilities
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * See COPYING.TXT for details.
 */


import java.util.HashMap;
import java.util.regex.Pattern;

/**
 * Utilities for String formatting, manipulation, and queries.
 * More information about this class is available from <a target="_top" href=
 * "http://ostermiller.org/utils/StringHelper.html">ostermiller.org</a>.
 *
 * @author Stephen Ostermiller http://ostermiller.org/contact.pl?regarding=Java+Utilities
 * @since ostermillerutils 1.00.00
 */
public class StringHelper {

  /**
   * Trim any of the characters contained in the second
   * string from the beginning and end of the first.
   *
   * @param s String to be trimmed.
   * @param c list of characters to trim from s.
   * @return trimmed String.
   * @throws NullPointerException if s is null.
   *
   * @since ostermillerutils 1.00.00
   */
  public static String trim(String s, String c){
    int length = s.length();
    if (c == null){
      return s;
    }
    int cLength = c.length();
    if (c.length() == 0){
      return s;
    }
    int start = 0;
    int end = length;
    boolean found; // trim-able character found.
    int i;
    // Start from the beginning and find the
    // first non-trim-able character.
    found = false;
    for (i=0; !found && i<length; i++){
      char ch = s.charAt(i);
      found = true;
      for (int j=0; found && j<cLength; j++){
        if (c.charAt(j) == ch) found = false;
      }
    }
    // if all characters are trim-able.
    if (!found) return "";
    start = i-1;
    // Start from the end and find the
    // last non-trim-able character.
    found = false;
    for (i=length-1; !found && i>=0; i--){
      char ch = s.charAt(i);
      found = true;
      for (int j=0; found && j<cLength; j++){
        if (c.charAt(j) == ch) found = false;
      }
    }
    end = i+2;
    return s.substring(start, end);
  }
}

   
    
    
    
    
    
    
    
  








Related examples in the same category

1.Strips any of a set of characters from the end of a String.
2.Strips any of a set of characters from the start and end of a String allowing the characters to be stripped to be controlled.
3.Strips any of a set of characters from the start and end of every String in an array.
4.Strips any of a set of characters from the start of a String.
5.Strips whitespace from the start and end of a String returning an empty String if null input.
6.Strips whitespace from the start and end of a String returning null if the String is empty ("") after the strip.
7.Strips whitespace from the start and end of a String.
8.Strips whitespace from the start and end of every String in an array.
9.Remove/collapse multiple newline characters.
10.Removes a substring only if it is at the begining of a source string, otherwise returns the source string.
11.Removes a substring only if it is at the end of a source string, otherwise returns the source string.
12.Gets the leftmost len characters of a String
13.Gets the rightmost len characters of a String.
14.Remove the leading and trailing quotes from str.
15.Remove the last character from a String.
16.Removes separator from the end of str if it's there, otherwise leave it alone.
17.Strip Line Breaks
18.Removes newline, carriage return and tab characters from a string
19.Trim off trailing blanks but not leading blanks
20.Used to print out a string for error messages, chops is off at 60 chars for historical reasons.
21.Chop i characters off the end of a string.
22.Trim specified charcater from end and from of string
23.Trim specified charcater from end of string
24.Trim specified charcater from front of string
25.Trim specified token from both sides of the string
26.Trims several consecutive characters into one.
27.Trims the quotes.
28.Truncate text on a whitespace boundary (near a specified length)
29.Truncates large Strings showing a portion of the String's head and tail with the center cut out and replaced with '...'.
30.Truncate a String to the given length with no warnings or error raised if it is bigger.
31.Filters string
32.strip string