Case insensitive removal of a substring if it is at the end of a source string, otherwise returns the source string. : String search « Data Type « Java

Java
1. 2D Graphics GUI
2. 3D
3. Advanced Graphics
4. Ant
5. Apache Common
6. Chart
7. Class
8. Collections Data Structure
9. Data Type
10. Database SQL JDBC
11. Design Pattern
12. Development Class
13. EJB3
14. Email
15. Event
16. File Input Output
17. Game
18. Generics
19. GWT
20. Hibernate
21. I18N
22. J2EE
23. J2ME
24. JDK 6
25. JNDI LDAP
26. JPA
27. JSP
28. JSTL
29. Language Basics
30. Network Protocol
31. PDF RTF
32. Reflection
33. Regular Expressions
34. Scripting
35. Security
36. Servlets
37. Spring
38. Swing Components
39. Swing JFC
40. SWT JFace Eclipse
41. Threads
42. Tiny Application
43. Velocity
44. Web Services SOA
45. XML
Java Tutorial
Java Source Code / Java Documentation
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java » Data Type » String searchScreenshots 
Case insensitive removal of a substring if it is at the end of a source string, otherwise returns the source string.
   

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

public class Main {

  /**
   * <p>Case insensitive removal of a substring if it is at the end of a source string,
   * otherwise returns the source string.</p>
   *
   * <p>A <code>null</code> source string will return <code>null</code>.
   * An empty ("") source string will return the empty string.
   * A <code>null</code> search string will return the source string.</p>
   *
   * <pre>
   * StringUtils.removeEnd(null, *)      = null
   * StringUtils.removeEnd("", *)        = ""
   * StringUtils.removeEnd(*, null)      = *
   * StringUtils.removeEnd("www.domain.com", ".com.")  = "www.domain.com."
   * StringUtils.removeEnd("www.domain.com", ".com")   = "www.domain"
   * StringUtils.removeEnd("www.domain.com", "domain") = "www.domain.com"
   * StringUtils.removeEnd("abc", "")    = "abc"
   * </pre>
   *
   @param str  the source String to search, may be null
   @param remove  the String to search for (case insensitive) and remove, may be null
   @return the substring with the string removed if found,
   *  <code>null</code> if null String input
   @since 2.4
   */
  public static String removeEndIgnoreCase(String str, String remove) {
      if (isEmpty(str|| isEmpty(remove)) {
          return str;
      }
      if (endsWithIgnoreCase(str, remove)) {
          return str.substring(0, str.length() - remove.length());
      }
      return str;
  }
  /**
   * <p>Case insensitive check if a String ends with a specified suffix.</p>
   *
   * <p><code>null</code>s are handled without exceptions. Two <code>null</code>
   * references are considered to be equal. The comparison is case insensitive.</p>
   *
   * <pre>
   * StringUtils.endsWithIgnoreCase(null, null)      = true
   * StringUtils.endsWithIgnoreCase(null, "abcdef")  = false
   * StringUtils.endsWithIgnoreCase("def", null)     = false
   * StringUtils.endsWithIgnoreCase("def", "abcdef") = true
   * StringUtils.endsWithIgnoreCase("def", "ABCDEF") = false
   * </pre>
   *
   @see java.lang.String#endsWith(String)
   @param str  the String to check, may be null
   @param suffix the suffix to find, may be null
   @return <code>true</code> if the String ends with the suffix, case insensitive, or
   *  both <code>null</code>
   @since 2.4
   */
  public static boolean endsWithIgnoreCase(String str, String suffix) {
      return endsWith(str, suffix, true);
  }

  /**
   * <p>Check if a String ends with a specified suffix (optionally case insensitive).</p>
   *
   @see java.lang.String#endsWith(String)
   @param str  the String to check, may be null
   @param suffix the suffix to find, may be null
   @param ignoreCase inidicates whether the compare should ignore case
   *  (case insensitive) or not.
   @return <code>true</code> if the String starts with the prefix or
   *  both <code>null</code>
   */
  private static boolean endsWith(String str, String suffix, boolean ignoreCase) {
      if (str == null || suffix == null) {
          return (str == null && suffix == null);
      }
      if (suffix.length() > str.length()) {
          return false;
      }
      int strOffset = str.length() - suffix.length();
      return str.regionMatches(ignoreCase, strOffset, suffix, 0, suffix.length());
  }
  // Empty checks
  //-----------------------------------------------------------------------
  /**
   * <p>Checks if a String is empty ("") or null.</p>
   *
   * <pre>
   * StringUtils.isEmpty(null)      = true
   * StringUtils.isEmpty("")        = true
   * StringUtils.isEmpty(" ")       = false
   * StringUtils.isEmpty("bob")     = false
   * StringUtils.isEmpty("  bob  ") = false
   * </pre>
   *
   * <p>NOTE: This method changed in Lang version 2.0.
   * It no longer trims the String.
   * That functionality is available in isBlank().</p>
   *
   @param str  the String to check, may be null
   @return <code>true</code> if the String is empty or null
   */
  public static boolean isEmpty(String str) {
      return str == null || str.length() == 0;
  }
}

   
    
    
  
Related examples in the same category
1. String Region Match DemoString Region Match Demo
2. PalindromePalindrome
3. Look for particular sequences in sentencesLook for particular sequences in sentences
4. Strings -- extract printable strings from binary file
5. Java Search String
6. Java String endsWith
7. Java String startsWith
8. Search a substring Anywhere
9. Starts with, ignore case( regular expressions )
10. Ends with, ignore case( regular expressions )
11. Anywhere, ignore case( regular expressions )
12. Searching a String for a Character or a Substring
13. Not found returns -1
14. If a string contains a specific word
15. Not found
16. if a String starts with a digit or uppercase letter
17. Search a String to find the first index of any character in the given set of characters.
18. Search a String to find the first index of any character not in the given set of characters.
19. Searches a String for substrings delimited by a start and end tag, returning all matching substrings in an array.
20. Helper functions to query a strings end portion. The comparison is case insensitive.
21. Helper functions to query a strings start portion. The comparison is case insensitive.
22. Wrapper for arrays of ordered strings. This verifies the arrays and supports efficient lookups.
23. Returns an index into arra (or -1) where the character is not in the charset byte array.
24. Returns an int[] array of length segments containing the distribution count of the elements in unsorted int[] array with values between min and max (range).
25. Returns the next index of a character from the chars string
26. Finds the first index within a String, handling null.
27. Finds the last index within a String from a start position, handling null.
28. Finds the n-th index within a String, handling null.
29. Case insensitive check if a String ends with a specified suffix.
30. Case insensitive check if a String starts with a specified prefix.
31. Case insensitive removal of a substring if it is at the begining of a source string, otherwise returns the source string.
32. Check if a String ends with a specified suffix.
33. Check if a String starts with a specified prefix.
34. Determine if a String is contained in a String Collection
35. Determine if a String is contained in a String Collection, ignoring case
36. Determine if a String is contained in a String [], ignoring case
37. Determine if a String is contained in a String [], ignoring case or not as specified
38. Determine if a String is contained in a String[]
39. Determines if the specified string contains only Unicode letters or digits as defined by Character#isLetterOrDigit(char)
40. Determining the validity of various XML names
41. Return the nth index of the given token occurring in the given string
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.