What is StringUtils.substringBeforeLast in Java?
Overview
substringBeforeLast() is a 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 instr.
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
StringUtilsclass. - 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
sepby invoking thesubstringBeforeLast()method. - Line 10: We assign
nulltosep. - Line 11: We retrieve the substring before the last occurrence of
sepby invoking thesubstringBeforeLast()method. Assepisnull,textis returned. - Line 13: A new value that is not present in
textis assigned tosep. - Line 14: We retrieve the substring before the last occurrence of
sepby invoking thesubstringBeforeLast()method. Assepis not present intext,textis returned.