Trusted answers to developer questions

What is the StringUtils.indexOfAny method in Java?

Get Started With Machine Learning

Learn the fundamentals of Machine Learning with this free course. Future-proof your career by adding ML skills to your toolkit — or prepare to land a job in AI or Data Science.

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
Did you find this helpful?