Skip to content
Parallax Learn

Parallax Learn

  • Welcome
  • Tutorials
        • Tutorial Series head tag

          Tutorial Series
        • Tutorial Series

          The special, classroom-ready series pages are organized collections of tutorials for our most popular hardware and/or languages. The tutorials for each topic are conveniently accessible from a single page, shown in the order it is recommended that they be completed.
        • Robotics Series Head tag

          Robotics Series
        • Robotics Series

          • Artificial Intelligence
          • Cybersecurity: Radio Data tutorialCybersecurity
          • cyber:bot + Python
          • cyber:bot + MakeCode
          • Boe-Bot Tutorial SeriesBoe-Bot
          • Arduino Shield-Bot
          • ActivityBot with C TutorialsActivityBot + C
          • ActivityBot with BlocklyProp Tutorial SeriesActivityBot + BlocklyProp
          • Scribbler 3 Tutorial SeriesScribbler 3
        • Electronics & Programming Series Head tag

          Electronics & Programming Series
          • BS2 Board of Education Tutorial SeriesBS2 Board of Education
          • Propeller C-Language BasicsPropeller C Basics
          • FLiP Try-It Kit C Tutorial SeriesFLiP Try-It Kit + C
          • FLiP Try-It Kit BlocklyProp TutorialsFLiP Try-It Kit + BlocklyProp
          • Badge WX Tutorial SeriesBadge WX
          • Propeller BlocklyProp Basics and ProjectsPropeller BlocklyProp Basics
          • View All Tutorial Series »
        • Browse Tutorials
        • Browse Tutorials

          Individual tutorials sorted by robot or kit, and language.
        • By Robot or Kit
          • ActivityBot
          • SumoBot WX
          • Boe-Bot
          • Shield-Bot
          • cyber:bot
          • Badge WX
          • ELEV-8
          • ARLO
        • By Language
        • By Language

          • Propeller C
          • Arduino
          • BlocklyProp
          • PBASIC
          • Python
          • MakeCode
          • View All Tutorials »
  • Educators
  • Reference
  • Downloads
  • Home
  • All Courses
  • Strings & Characters Primer

Strings & Characters Primer

Try This: Find the Substring

Sometimes it’s wise to check if a string contains a certain phrase.  For example, a micro:bit might be sending radio commands to more than one cyber:bot robot.  A unique name could be used to select which cyber:bot in the group should execute the command.  

The string.find() method can help with this.  It returns the index of the first character in the matching substring.  If it returns 0, it means it found the character at the very beginning of the string.  If it returns 5, it means it started at the fifth character in the string.  If it doesn’t find a match, it returns -1.  

Here are some examples of how string.find() can be used:

  • n = s.find(“run”) finds the first instance of “run” in a string named s and stores it in n.
  • s.find(“run”, 10, 20) finds the first instance of “run” between the 10th and 19th character —in Python, the beginning argument (10) is included, but the ending argument (20) is excluded.
  • s.find(“run”, 10) looks “run” from the 10th character to the end

Keep in mind, you can also search for characters.  Just use a single character in the search, like s.find(“A”).

As mentioned in the Strings and Characters page, string objects also have useful methods.  Here are a few examples to try:

new_string = string.replace("substring", "replacemnt_string")
lower_case = string.lower()
upper_case = string.upper()
new_list = string.split()

Here we have three examples of searching for substrings with string.find().  After finding the index of the first and second instances of one substring, it looks for a substring that isn’t there.  Examine the searches and results carefully.  

Example script: comp_find_check_try_this

  • Enter, name, and save comp_find_check_try_this.  
  • Click the Send to micro:bit button.
# comp_find_check_try_this

from microbit import *

sleep(1000)

s = "Arthur: It is 'Arthur', King of the Britons."

n1 = s.find("Arthur")
n2 = s.find("Arthur", 7, len(s))
n3 = s.find("Lancelot")

print("Results of string.find():")
print("n1 = ", n1, ", n2 =", n2, ", n3 = ", n3)
  • Check the results in the serial monitor.
  • Verify that the results are 0, 15, and -1.

Does this make sense?  The first instance of “Arthur” starts at character 0 in s.  The second starts at 15.  Since Lancelot isn’t in there, it returns -1.


Printer-friendly version
Compare, Find, Check
Prev
Your Turn: Exact Match vs Found in String
Next

DISCUSSION FORUMS | PARALLAX INC. STORE

About | Terms of Use | Feedback: learn@parallax.com | Copyright©Parallax Inc. 2024

© 2025 Parallax Learn • Built with GeneratePress