Trusted answers to developer questions
Trusted Answers to Developer Questions

Related Tags

java
communitycreator

What is the StringUtils.indexOfAny method in Java?

abhilash

Grokking Modern System Design Interview for Engineers & Managers

Ace your System Design Interview and take your career to the next level. Learn to handle the design of applications like Netflix, Quora, Facebook, Uber, and many more in a 45-min interview. Learn the RESHADED framework for architecting web-scale applications by determining requirements, constraints, and assumptions before diving into a step-by-step design process.

Overview

In Java, indexOfAny() is a staticMethods in Java that can be called without creating an object of the class. method of the StringUtils class, which is used to return the index of any of the character(s) sequences from the given set. This method returns -1 if none of the character sequences are in the given text.

How to import StringUtils

The definition of StringUtils is found in the Apache Commons Lang package. Let’s 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, please refer to the Maven Repository.

Let’s import the StringUtils class as follows:


import org.apache.commons.lang3.StringUtils;

Syntax


public static int indexOfAny(final CharSequence cs, final char... searchChars)

Parameters

  • cs: The character sequence or string to search in.
  • searchChars: The list of search characters.

Return value

This method returns an integer.

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

  • Lines 1–2: We import the StringUtils and Arrays classes.
  • Line 7: We define the character sequence to search is called text.
  • Line 8: We define the list of characters to be searched. It’s called searchChars.
  • Line 9: We invoke theindexOfAny passing text and searchChars as parameters. The character, z, is not present in the text, but character o is present. The method returns the index of the first occurrence of the character o.
  • Line 11: A new list of characters to be searched is assigned to searchChars.
  • Line 12: We invoke the indexOfAny passing text and searchChars as parameters. The method returns -1 as none of the characters in the searchChars array is present in text.

RELATED TAGS

java
communitycreator

Grokking Modern System Design Interview for Engineers & Managers

Ace your System Design Interview and take your career to the next level. Learn to handle the design of applications like Netflix, Quora, Facebook, Uber, and many more in a 45-min interview. Learn the RESHADED framework for architecting web-scale applications by determining requirements, constraints, and assumptions before diving into a step-by-step design process.

Keep Exploring