What is the StringUtils.substring() method in Java?
Overview
In Java, substring() is a static method of the StringUtils class that returns the string between the given start and end index. Negative start and end index positions can be used to specify offsets relative to the end of the string.
How to import StringUtils
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-langpackage, refer to the Maven Repository.
We can import the StringUtils class as follows:
import org.apache.commons.lang3.StringUtils;
Syntax
public static String substring(final String str, int start, int end)
Parameters
str: This is the given string from which the substring has to be extracted.start: This is the starting index.end: This is the ending index.
Return value
This method returns a substring.
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:
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 index called
start. - Line 8: We define the ending index called
end. - Line 10: The substring between
startandendis retrieved by invoking thesubstring()method. - Line 12: We define a negative value for
end. - Line 13: The substring between
startandendis retrieved by invoking thesubstring()method. Asendis a negative value, theendoffset is relative to the end of the string.