String indexOf() and lastIndexOf() Method

Look for the first/last instance of a character in a string.

The String object indexOf() method gives you the ability to search for the first instance of a particular character value in a String. You can also look for the first instance of the character after a given offset. The lastIndexOf() method lets you do the same things from the end of a String.

1String stringOne = "<HTML><HEAD><BODY>";
2int firstClosingBracket = stringOne.indexOf('>');

In this case,

equals 5, because the first
character is at position 5 in the String (counting the first character as 0). If you want to get the second closing bracket, you can use the fact that you know the position of the first one, and search from
firstClosingBracket + 1
as the offset, like so:

1stringOne = "<HTML><HEAD><BODY>";
2int secondClosingBracket = stringOne.indexOf('>', firstClosingBracket + 1 );

The result would be 11, the position of the closing bracket for the HEAD tag.

If you want to search from the end of the String, you can use the

method instead. This function returns the position of the last occurrence of a given character.

1stringOne = "<HTML><HEAD><BODY>";
2int lastOpeningBracket = stringOne.lastIndexOf('<');

In this case,

equals 12, the position of the
for the BODY tag. If you want the opening bracket for the HEAD tag, it would be at
stringOne.lastIndexOf('<', lastOpeningBracket -1)
, or 6.

Hardware Required

  • Arduino Board


There is no circuit for this example, though your board must be connected to your computer via USB and the serial monitor window of the Arduino Software (IDE) should be open.



Learn more

You can find more basic tutorials in the built-in examples section.

You can also explore the language reference, a detailed collection of the Arduino programming language.

Last revision 2015/08/11 by SM

Contribute to Arduino

Join the community and suggest improvements to this article via GitHub. Make sure to read out contribution policy before making your pull request.

Missing something?

Check out our store and get what you need to follow this tutorial.

Suggest Changes

The content on is facilitated through a public GitHub repository. You can read more on how to contribute in the contribution policy.
The Arduino documentation is licensed under the Creative Commons Attribution-Share Alike 4.0 license.