Trim any of the characters in Java

Description

The following code shows how to trim any of the characters.

Example


//  w w  w .  j a  v  a  2  s .c o m
/**
 * 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 Main {
  public static void main(String[] argv) {
    System.out.println(trim("test from java2s.com", "a"));
  }

  /**
   * 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);
  }
}

/*
 * 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.
 */

The code above generates the following result.





















Home »
  Java Tutorial »
    Java Data Type »




Java Boolean
Java Byte
Java Character
Java Currency
Java Double
Java Enum
Java Float
Java Integer
Java Long
Java Short
Java Auto Grow Array
Java Array Compare
Java Array Convert
Java Array Copy Clone
Java Array Fill
Java Array Search and Sort
Java String Convert
Java String File
Java String Format
Java String Operation
Java BigDecimal
Java BigInteger