What is StringUtils.substringAfterLast in Java?

Share

Overview

The substringAfterLast() method is a staticThe methods in Java that can be called without creating an object of the class method of StringUtils. It is used to return the substring that comes after 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, an empty 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>

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 substringAfterLast(final String str, final String separator)

Parameters

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

Return value

This method returns the substring that comes after 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 a string called text.
  • Line 7: We define the separator called sep.
  • Line 8: The substring after the last occurrence of sep is retrieved by invoking the substringAfterLast() method.
  • Line 10: null is assigned to sep.
  • Line 11: The substring after the last occurrence of sep is retrieved by invoking the substringAfterLast() method. As sep is null, an empty string is returned.
  • Line 13: A new value that is not present in text is assigned to sep.
  • Line 14: The substring after the last occurrence of sep is retrieved by invoking the substringAfterLast() method. As sep is not in text, an empty string is returned.