What is StringUtils.substringBeforeLast in Java?

Overview

substringBeforeLast() is a staticthe methods in Java that can be called without creating an object of the class. method of the StringUtils that is used to return the substring before the last occurrence of the given separator. The separator is not returned along with the substring.

If the separator is null or is not found in the input string, the input string is returned.

How to import StringUtils

The definition of StringUtils can be found in the Apache Commons Lang package, which we can add to the Maven project by adding the following dependency to the pom.xml file:


<dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.12.0</version>
</dependency>

Note: For other versions of the commons-lang package, refer to the Maven Repository.

We can import the StringUtils class as follows:


import org.apache.commons.lang3.StringUtils;

Syntax


public static String substringBeforeLast(final String str, final String separator)

Parameters

  • str: The string from which a substring is to be retrieved.
  • separator: The string to search in str.

Return value

This method returns the substring before the last occurrence of the separator.

Code

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>test</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>

    <dependencies>

        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.12.0</version>
        </dependency>

    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>2.1</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <transformers>
                                <transformer
                                        implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                    <mainClass>Main</mainClass>
                                </transformer>
                            </transformers>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

</project>

Explanation

The maven dependency for StringUtils is included in the pom.xml file:

Main.java

  • Line 1: We import the StringUtils class.
  • Line 6: We define the text or the string called text.
  • Line 7: We define the separator called sep.
  • Line 8: We retrieve the substring before the last occurrence of sep by invoking the substringBeforeLast() method.
  • Line 10: We assign null to sep.
  • Line 11: We retrieve the substring before the last occurrence of sep by invoking the substringBeforeLast() method. As sep is null, text is returned.
  • Line 13: A new value that is not present in text is assigned to sep.
  • Line 14: We retrieve the substring before the last occurrence of sep by invoking the substringBeforeLast() method. As sep is not present in text, text is returned.

Free Resources