String substring Function

Look for "phrases" within a given string.

The String function

substring()
is closely related to
charAt()
,
startsWith()
and
endsWith()
. It allows you to look for an instance of a particular substring within a given String.

Hardware Required

  • Arduino Board

Circuit

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.

circuit

Code

substring()
with only one parameter looks for a given substring from the position given to the end of the string. It expects that the substring extends all the way to the end of the String. For example:

1String stringOne = "Content-Type: text/html";
2// substring(index) looks for the substring from the index position to the end:
3if (stringOne.substring(19) == "html") {
4}

is true, while

1String stringOne = "Content-Type: text/html";
2// substring(index) looks for the substring from the index position to the end:
3if (stringOne.substring(19) == "htm") {
4}

is not true, because there's an

l
after the
htm
in the String.

substring()
with two parameters looks for a given substring from the first parameter to the second. For example:

1String stringOne = "Content-Type: text/html";
2// you can also look for a substring in the middle of a string:
3if (stringOne.substring(14,18) == "text") {
4}

This looks for the word

text
from positions 14 through 18 of the String.

Caution: make sure your index values are within the String's length or you'll get unpredictable results. This kind of error can be particularly hard to find with the second instance of

substring()
if the starting position is less than the String's length, but the ending position isn't.

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 docs.arduino.cc is facilitated through a public GitHub repository. You can read more on how to contribute in the contribution policy.