What is StringUtils.lastOrdinalIndexOf() in Java?

Overview

The lastOrdinalIndexOf() is a staticThe methods in Java that can be called without creating an object of the class. method of the StringUtils. It gets the index of the nth (also called the ordinal value) last occurrence of the search string within the given text.

The method returns -1 if the nth last occurrence of the search string is not found.

How to import StringUtils

The definition of StringUtils is found in the Apache Commons Lang package. We can add this 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, see the Maven Repository.

You can import the StringUtils class as follows:


import org.apache.commons.lang3.StringUtils;

Syntax


public static int lastOrdinalIndexOf(final CharSequence str, final CharSequence searchStr, final int ordinal)

Parameters

  • str: This is the text in which we search.
  • searchStr: This is the sequence to search.
  • ordinal: This is the nth value.

Return value

This method returns an integer.

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

  • Line 1: We import the StringUtils class.

  • Line 6: We define the text in which we search as text.

  • Line 7: We define the search string as searchStr.

  • Line 8: We define the n value.

  • Line 10: We obtain the nth last occurrence of the searchStr in text using the lastOrdinalIndexOf() method.

  • Line 12: We define A new value for n.

  • Line 13: We obtain the nth last occurrence of the searchStr in text is using thelastOrdinalIndexOf() method. As there is no 5th last occurrence of searchStr in text, the method returns -1.

Free Resources