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

Curriculum

  • 1 Section
  • 26 Lessons
  • Lifetime
Expand all sectionsCollapse all sections
  • Strings & Characters Primer
    26
    • 1.1
      About Strings and Characters
    • 1.2
      Strings for Exchanging Data
    • 1.3
      String Features: Indexing, Functions, Methods
    • 1.4
      First String
    • 1.5
      Try This: Display with Variable Labels
    • 1.6
      Characters Inside Strings
    • 1.7
      Try This: Print Alphabets
    • 1.8
      Your Turn: Print ASCII Chart
    • 1.9
      Access Characters
    • 1.10
      Try This: Check String Length
    • 1.11
      Your Turn: Check Every Character
    • 1.12
      String Surgery
    • 1.13
      Try This: Access Substrings
    • 1.14
      Your Turn: Create a Modified String
    • 1.15
      Compare, Find, Check
    • 1.16
      Try This: Find the Substring
    • 1.17
      Your Turn: Exact Match vs Found in String
    • 1.18
      Other Useful Methods
    • 1.19
      Try This: Accept in Any Case
    • 1.20
      Your Turn: Careful with string.replace
    • 1.21
      Convert Between Other Data Types
    • 1.22
      Try This: Check Variable Type
    • 1.23
      Your Turn: String to Int, Math and Back
    • 1.24
      Embed Code in Strings
    • 1.25
      Try This: Execute Statements from a String
    • 1.26
      Your Turn: A Script that Runs Scripts You Enter

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

© 2026 Parallax Learn • Built with GeneratePress