What is StringUtils.substringBefore in Java?

Overview

substringBefore() is a staticThe methods in Java that can be called without creating an object of the class. method of the 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 in str.

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 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 first occurrence of sep by calling the substringBefore() method.

  • Line 10: We assign null to sep.

  • Line 11: We retrieve the substring before the first occurrence of sep by calling the substringBefore() method. Because sep is null, the text is returned as it is.

  • Line 13: We assign a new value that is not present in text is assigned to sep.

  • Line 14: We retrieve the substring before the first occurrence of sep by calling the substringBefore() method. Because sep is not there in text, the text is returned as it is.

Free Resources