lastIndexOf()
is a StringUtils
used to find the index of the last occurrence of the search sequence in the given text. The matching of the search sequence in the given text is case-sensitive.
The method returns the -1
value for the following use cases:
null
.The method returns a positive value for the following use cases:
The method optionally takes a parameter called startPos
that indicates the starting index for matching of search sequence. A negative startPos
returns -1
. The search starts at the startPos
and works backward.
Refer What is StringUtils.lastIndexOfIgnoreCase in Java? for case-insensitive matching.
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>
For other versions of the commons-lang package, refer to the Maven Repository.
You can import the StringUtils
class as follows:
import org.apache.commons.lang3.StringUtils;
public static int lastIndexOf(final CharSequence seq, final CharSequence searchSeq)
public static int lastIndexOf(final CharSequence seq, final CharSequence searchSeq, final int startPos)
seq
: The text to search in.searchSeq
: The sequence to search.startPos
: The starting index of the search operation (search happens backward).This method returns an integer value.
<?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>
The maven dependency for StringUtils
is included in the pom.xml
file:
Main.java
StringUtils
class.search
method that searches for the last occurrence of searchString
in the given text
by invoking the lastIndexOf
method without the startPos
parameter.searchWithPos
method that searches for the last occurrence of searchString
in the given text
with the starting index as startPos
by invoking the lastIndexOf
method.search
method for different text
values and searchString
.searchWithPos
method for different text
values, searchString
, and startPos
.