Trusted answers to developer questions

What is the StringUtils.lastIndexOfIgnoreCase method in Java?

Free System Design Interview Course

Many candidates are rejected or down-leveled due to poor performance in their System Design Interview. Stand out in System Design Interviews and get hired in 2024 with this popular free course.

Overview

The lastIndexOfIgnoreCase() is a staticMethods in Java that can be called without creating an object of the class. method of StringUtils and is 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 insensitive in nature.

The method returns the -1 value for the following use cases:

  • If either of the given text or the search sequence is null.
  • If the search sequence is not present in the text.

The method returns a positive value for the following use case:

  • If the search sequence is present in the given text.

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.

Note: For case-insensitive matching, refer to What is StringUtils.lastIndexOf in Java?.

How to import StringUtils

The definition of StringUtils is found in the Apache Commons Lang package, which we may 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.

You can import the StringUtils class as follows:


import org.apache.commons.lang3.StringUtils;

Syntax


public static int lastIndexOfIgnoreCase(final CharSequence seq, 
        final CharSequence searchSeq) {
    ...
};

public static int lastIndexOfIgnoreCase(final CharSequence seq, 
        final CharSequence searchSeq, final int startPos) {
    ...
};


Parameters

  • seq: The text to search in.
  • searchSeq: The sequence to search.
  • startPos: The starting index of the search operation (search happens backward).

Return value

This method returns an integer value.

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 StringUtils class.
  • Lines 5–8: We define a search method that searches for the last occurrence of searchString in the given text by invoking the lastIndexOfIgnoreCase method without the startPos parameter.
  • Lines 10–13: We define a searchWithPos method that searches for the last occurrence of searchString in the given text with the starting index as startPos by invoking the lastIndexOfIgnoreCase method.
  • Lines 16–22: We invoke the search method for different text values and searchString.
  • Lines 24–32: We invoke the searchWithPos method for different text values, searchString and startPos.

RELATED TAGS

java
Did you find this helpful?