Trusted answers to developer questions
Trusted Answers to Developer Questions

Related Tags

java
communitycreator

What is StringUtils.substringBeforeLast in Java?

abhilash

Grokking Modern System Design Interview for Engineers & Managers

Ace your System Design Interview and take your career to the next level. Learn to handle the design of applications like Netflix, Quora, Facebook, Uber, and many more in a 45-min interview. Learn the RESHADED framework for architecting web-scale applications by determining requirements, constraints, and assumptions before diving into a step-by-step design process.

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.

RELATED TAGS

java
communitycreator

Grokking Modern System Design Interview for Engineers & Managers

Ace your System Design Interview and take your career to the next level. Learn to handle the design of applications like Netflix, Quora, Facebook, Uber, and many more in a 45-min interview. Learn the RESHADED framework for architecting web-scale applications by determining requirements, constraints, and assumptions before diving into a step-by-step design process.

Keep Exploring