Java String Chomp chomp(String str, String separator)

Here you can find the source of chomp(String str, String separator)

Description

Removes separator from the end of str if it's there, otherwise leave it alone.

NOTE: This method changed in version 2.0.

License

Apache License

Parameter

Parameter Description
str the String to chomp from, may be null
separator separator String, may be null

Return

String without trailing separator, null if null String input

Declaration

public static String chomp(String str, String separator) 

Method Source Code

//package com.java2s;
/**//from   ww  w  . j  a v a2 s .  co  m
 * 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
 */

public class Main {
    /**
      * <p>Removes <code>separator</code> from the end of
      * <code>str</code> if it's there, otherwise leave it alone.</p>
      *
      * <p>NOTE: This method changed in version 2.0.
      * It now more closely matches Perl chomp.
      * For the previous behavior, use {@link #substringBeforeLast(String, String)}.
      * This method uses {@link String#endsWith(String)}.</p>
      *
      * <pre>
      * StringUtils.chomp(null, *)         = null
      * StringUtils.chomp("", *)           = ""
      * StringUtils.chomp("foobar", "bar") = "foo"
      * StringUtils.chomp("foobar", "baz") = "foobar"
      * StringUtils.chomp("foo", "foo")    = ""
      * StringUtils.chomp("foo ", "foo")   = "foo "
      * StringUtils.chomp(" foo", "foo")   = " "
      * StringUtils.chomp("foo", "foooo")  = "foo"
      * StringUtils.chomp("foo", "")       = "foo"
      * StringUtils.chomp("foo", null)     = "foo"
      * </pre>
      *
      * @param str  the String to chomp from, may be null
      * @param separator  separator String, may be null
      * @return String without trailing separator, <code>null</code> if null String input
      */
    public static String chomp(String str, String separator) {
        if (isEmpty(str) || separator == null) {
            return str;
        }
        if (str.endsWith(separator)) {
            return str.substring(0, str.length() - separator.length());
        }
        return str;
    }

    /**
     * <p>
     * Checks if a String is empty ("") or null.
     * </p>
     * 
     * <pre>
     * StringUtils.isEmpty(null)      = true
     * StringUtils.isEmpty(&quot;&quot;)        = true
     * StringUtils.isEmpty(&quot; &quot;)       = false
     * StringUtils.isEmpty(&quot;bob&quot;)     = false
     * StringUtils.isEmpty(&quot;  bob  &quot;) = 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

  1. chomp(String str)
  2. chomp(String str)
  3. chomp(String str)
  4. chomp(String str)
  5. chomp(String str, String sep)
  6. chomp(String value)
  7. chomp(StringBuilder sb)
  8. chompAllAndTrim(String str)
  9. chompClosureOpen(String expr)