What is StringUtils.substringBetween in Java?
Overview
substringBetween() is a StringUtils used to return the substring that is nested between the open and close strings/tags. This method returns only the first matched substring.
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 substringBetween(final String str, final String open, final String close)
Parameters
str: The string from which a substring is to be retrieved.open: The string beforestr.close: The string afterstr.
Return value
This method returns the substring between open and close.
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 starting string,
open. - Line 8: We define the closing string,
close. - Line 9: We retrieve the substring between
openandcloseby invoking thesubstringBetween()method.
In the output, though there are multiple matches for the substring between open and close, only the first match is returned.