What is StringUtils.ordinalIndexOf in Java?

Overview

ordinalIndexOf() is a staticthe methods in Java that can be called without creating an object of the class. method of the StringUtils used to get the index of the n-th (also called the ordinal value) occurrence of the search string within the given text.

The method returns -1 if the n-th occurrence of the search string is not found.

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>

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;

Method signature


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

Parameters

  • str: The text to search in.
  • searchStr: The sequence to search.
  • ordinal: The n-th 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

The maven dependency for StringUtils is included in the pom.xml file:

Main.java

  • Line 1: We import the StringUtils class.
  • Line 6: The text to search in is defined i.e text.
  • Line 7: The search string is defined i.e searchStr.
  • Line 8: n value is defined.
  • Line 10: n-th occurrence of the searchStr in text is obtained using ordinalIndexOf() method.
  • Line 12: A new value for n is defined.
  • Line 13: n-th occurrence of the searchStr in text is obtained using ordinalIndexOf() method. As there is no 5th occurrence of searchStr in text, the method returns -1.

Free Resources