Gets a substring from the specified String avoiding exceptions : String substring « Data Type « Java






Gets a substring from the specified String avoiding exceptions

    


/**
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */




/**
 * <p>Operations on {@link java.lang.String} that are
 * <code>null</code> safe.</p>

 *
 * @see java.lang.String
 * @author <a href="http://jakarta.apache.org/turbine/">Apache Jakarta Turbine</a>
 * @author <a href="mailto:jon@latchkey.com">Jon S. Stevens</a>
 * @author Daniel L. Rall
 * @author <a href="mailto:gcoladonato@yahoo.com">Greg Coladonato</a>
 * @author <a href="mailto:ed@apache.org">Ed Korthof</a>
 * @author <a href="mailto:rand_mcneely@yahoo.com">Rand McNeely</a>
 * @author Stephen Colebourne
 * @author <a href="mailto:fredrik@westermarck.com">Fredrik Westermarck</a>
 * @author Holger Krauth
 * @author <a href="mailto:alex@purpletech.com">Alexander Day Chaffee</a>
 * @author <a href="mailto:hps@intermeta.de">Henning P. Schmiedehausen</a>
 * @author Arun Mammen Thomas
 * @author Gary Gregory
 * @author Phil Steitz
 * @author Al Chou
 * @author Michael Davey
 * @author Reuben Sivan
 * @author Chris Hyzer
 * @author Scott Johnson
 * @since 1.0
 * @version $Id: StringUtils.java 635447 2008-03-10 06:27:09Z bayard $
 */
public class Main {
  // Substring
  //-----------------------------------------------------------------------
  /**
   * <p>Gets a substring from the specified String avoiding exceptions.</p>
   *
   * <p>A negative start position can be used to start <code>n</code>
   * characters from the end of the String.</p>
   *
   * <p>A <code>null</code> String will return <code>null</code>.
   * An empty ("") String will return "".</p>
   *
   * <pre>
   * StringUtils.substring(null, *)   = null
   * StringUtils.substring("", *)     = ""
   * StringUtils.substring("abc", 0)  = "abc"
   * StringUtils.substring("abc", 2)  = "c"
   * StringUtils.substring("abc", 4)  = ""
   * StringUtils.substring("abc", -2) = "bc"
   * StringUtils.substring("abc", -4) = "abc"
   * </pre>
   *
   * @param str  the String to get the substring from, may be null
   * @param start  the position to start from, negative means
   *  count back from the end of the String by this many characters
   * @return substring from start position, <code>null</code> if null String input
   */
  public static String substring(String str, int start) {
      if (str == null) {
          return null;
      }

      // handle negatives, which means last n characters
      if (start < 0) {
          start = str.length() + start; // remember start is negative
      }

      if (start < 0) {
          start = 0;
      }
      if (start > str.length()) {
          return "";
      }

      return str.substring(start);
  }

}

   
    
    
    
  








Related examples in the same category

1.uses substrings to replace all the vowels in a string entered by the user with asterisks:
2.SubString DemoSubString Demo
3.Getting a substring from a String
4.Check if String Contains another String
5.Remove a character at a specified position using String.substring
6.Substrings First occurrence
7.Last occurrence of a substring
8.Find the first index of any of a set of potential substrings.
9.Find the latest index of any of a set of potential substrings.
10.Gets the substring after the first occurrence of a separator. The separator is not returned.
11.Gets the substring after the last occurrence of a separator. The separator is not returned.
12.Gets the substring before the first occurrence of a separator. The separator is not returned.
13.Gets the substring before the last occurrence of a separator. The separator is not returned.
14.Overlays part of a String with another String.
15.Gets len characters from the middle of a String.
16.Gets the String that is nested in between two Strings. Only the first match is returned.
17.Gets the String that is nested in between two instances of the same String.
18.Count the number of instances of substring within a string
19.Counts how many times the substring appears in the larger String.
20.Return a slice (substring) of the passed in value, optionally trimmed.
21.Returns an array of strings that contains all strings given by the first and second string array.
22.Returns a string that contains all given strings concatenated and separated by the specified separator.
23.Returns all elements of string array in a new array from index start up to index end (inclusive).
24.Returns all elements of string array from in a new array from index start up to index end (inclusive).
25.Returns the portion of the given string that comes before the last occurance of the specified separator.
26.Returns the portion of the given string that stands after the last occurance of the specified separator.
27.Returns a title-cased version of the specified word
28.Longest Starting Match