What is StringUtils.substringBefore in Java?
Overview
substringBefore() is a StringUtils class. It is used to return the substring before the first occurrence of the given separator.
Note: The separator will not be 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>
We can import the StringUtils class as follows:
import org.apache.commons.lang3.StringUtils;
Syntax
public static String substringBefore(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 instr.
Return value
This method returns the substring before the first occurrence of the separator.
Example
<?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:
The content of the Main.java file is as follows:
-
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 first occurrence of
sepby calling thesubstringBefore()method. -
Line 10: We assign
nulltosep. -
Line 11: We retrieve the substring before the first occurrence of
sepby calling thesubstringBefore()method. Becausesepisnull, thetextis returned as it is. -
Line 13: We assign a new value that is not present in
textis assigned tosep. -
Line 14: We retrieve the substring before the first occurrence of
sepby calling thesubstringBefore()method. Becausesepis not there intext, thetextis returned as it is.