Products
  • Wolfram|One

    The definitive Wolfram Language and notebook experience

  • Mathematica

    The original technical computing environment

  • Notebook Assistant + LLM Kit

    All-in-one AI assistance for your Wolfram experience

  • Compute Services
  • System Modeler
  • Finance Platform
  • Wolfram|Alpha Notebook Edition
  • Application Server
  • Enterprise Private Cloud
  • Wolfram Engine
  • Wolfram Player
  • Wolfram Cloud App
  • Wolfram Player App

More mobile apps

Core Technologies of Wolfram Products

  • Wolfram Language
  • Computable Data
  • Wolfram Notebooks
  • AI & Linguistic Understanding

Deployment Options

  • Wolfram Cloud
  • wolframscript
  • Wolfram Engine Community Edition
  • Wolfram LLM API
  • WSTPServer
  • Wolfram|Alpha APIs

From the Community

  • Function Repository
  • Community Paclet Repository
  • Example Repository
  • Neural Net Repository
  • Prompt Repository
  • Wolfram Demonstrations
  • Data Repository
  • Group & Organizational Licensing
  • All Products
Consulting & Solutions

We deliver solutions for the AI era—combining symbolic computation, data-driven insights and deep technical expertise

  • Data & Computational Intelligence
  • Model-Based Design
  • Algorithm Development
  • Wolfram|Alpha for Business
  • Blockchain Technology
  • Education Technology
  • Quantum Computation

Wolfram Consulting

Wolfram Solutions

  • Data Science
  • Artificial Intelligence
  • Biosciences
  • Healthcare Intelligence
  • Sustainable Energy
  • Control Systems
  • Enterprise Wolfram|Alpha
  • Blockchain Labs

More Wolfram Solutions

Wolfram Solutions For Education

  • Research Universities
  • Colleges & Teaching Universities
  • Junior & Community Colleges
  • High Schools
  • Educational Technology
  • Computer-Based Math

More Solutions for Education

  • Contact Us
Learning & Support

Get Started

  • Wolfram Language Introduction
  • Fast Intro for Programmers
  • Fast Intro for Math Students
  • Wolfram Language Documentation

More Learning

  • Highlighted Core Areas
  • Demonstrations
  • YouTube
  • Daily Study Groups
  • Wolfram Schools and Programs
  • Books

Grow Your Skills

  • Wolfram U

    Courses in computing, science, life and more

  • Community

    Learn, solve problems and share ideas.

  • Blog

    News, views and insights from Wolfram

  • Resources for

    Software Developers

Tech Support

  • Contact Us
  • Support FAQs
  • Support FAQs
  • Contact Us
Company
  • About Wolfram
  • Career Center
  • All Sites & Resources
  • Connect & Follow
  • Contact Us

Work with Us

  • Student Ambassador Initiative
  • Wolfram for Startups
  • Student Opportunities
  • Jobs Using Wolfram Language

Educational Programs for Adults

  • Summer School
  • Winter School

Educational Programs for Youth

  • Middle School Camp
  • High School Research Program
  • Computational Adventures

Read

  • Stephen Wolfram's Writings
  • Wolfram Blog
  • Wolfram Tech | Books
  • Wolfram Media
  • Complex Systems

Educational Resources

  • Wolfram MathWorld
  • Wolfram in STEM/STEAM
  • Wolfram Challenges
  • Wolfram Problem Generator

Wolfram Initiatives

  • Wolfram Science
  • Wolfram Foundation
  • History of Mathematics Project

Events

  • Stephen Wolfram Livestreams
  • Online & In-Person Events
  • Contact Us
  • Connect & Follow
Wolfram|Alpha
  • Your Account
  • User Portal
  • Wolfram Cloud
  • Products
    • Wolfram|One
    • Mathematica
    • Notebook Assistant + LLM Kit
    • Compute Services
    • System Modeler
    • Finance Platform
    • Wolfram|Alpha Notebook Edition
    • Application Server
    • Enterprise Private Cloud
    • Wolfram Engine
    • Wolfram Player
    • Wolfram Cloud App
    • Wolfram Player App

    More mobile apps

    • Core Technologies
      • Wolfram Language
      • Computable Data
      • Wolfram Notebooks
      • AI & Linguistic Understanding
    • Deployment Options
      • Wolfram Cloud
      • wolframscript
      • Wolfram Engine Community Edition
      • Wolfram LLM API
      • WSTPServer
      • Wolfram|Alpha APIs
    • From the Community
      • Function Repository
      • Community Paclet Repository
      • Example Repository
      • Neural Net Repository
      • Prompt Repository
      • Wolfram Demonstrations
      • Data Repository
    • Group & Organizational Licensing
    • All Products
  • Consulting & Solutions

    We deliver solutions for the AI era—combining symbolic computation, data-driven insights and deep technical expertise

    WolframConsulting.com

    Wolfram Solutions

    • Data Science
    • Artificial Intelligence
    • Biosciences
    • Healthcare Intelligence
    • Sustainable Energy
    • Control Systems
    • Enterprise Wolfram|Alpha
    • Blockchain Labs

    More Wolfram Solutions

    Wolfram Solutions For Education

    • Research Universities
    • Colleges & Teaching Universities
    • Junior & Community Colleges
    • High Schools
    • Educational Technology
    • Computer-Based Math

    More Solutions for Education

    • Contact Us
  • Learning & Support

    Get Started

    • Wolfram Language Introduction
    • Fast Intro for Programmers
    • Fast Intro for Math Students
    • Wolfram Language Documentation

    Grow Your Skills

    • Wolfram U

      Courses in computing, science, life and more

    • Community

      Learn, solve problems and share ideas.

    • Blog

      News, views and insights from Wolfram

    • Resources for

      Software Developers
    • Tech Support
      • Contact Us
      • Support FAQs
    • More Learning
      • Highlighted Core Areas
      • Demonstrations
      • YouTube
      • Daily Study Groups
      • Wolfram Schools and Programs
      • Books
    • Support FAQs
    • Contact Us
  • Company
    • About Wolfram
    • Career Center
    • All Sites & Resources
    • Connect & Follow
    • Contact Us

    Work with Us

    • Student Ambassador Initiative
    • Wolfram for Startups
    • Student Opportunities
    • Jobs Using Wolfram Language

    Educational Programs for Adults

    • Summer School
    • Winter School

    Educational Programs for Youth

    • Middle School Camp
    • High School Research Program
    • Computational Adventures

    Read

    • Stephen Wolfram's Writings
    • Wolfram Blog
    • Wolfram Tech | Books
    • Wolfram Media
    • Complex Systems
    • Educational Resources
      • Wolfram MathWorld
      • Wolfram in STEM/STEAM
      • Wolfram Challenges
      • Wolfram Problem Generator
    • Wolfram Initiatives
      • Wolfram Science
      • Wolfram Foundation
      • History of Mathematics Project
    • Events
      • Stephen Wolfram Livestreams
      • Online & In-Person Events
    • Contact Us
    • Connect & Follow
  • Wolfram|Alpha
  • Wolfram Cloud
  • Your Account
  • User Portal
Wolfram Language & System Documentation Center
StringPosition
  • See Also
    • TextPosition
    • Position
    • StringCases
    • StringCount
    • StringContainsQ
    • Characters
    • FindList
    • ReplaceList
    • StringExpression
    • RegularExpression
    • StringDrop
    • StringInsert
    • StringTake
    • SequenceAlignment
  • Related Guides
    • String Operations
    • Biomolecular Sequences
    • String Manipulation
    • Sequence Alignment & Comparison
  • Tech Notes
    • Operations on Strings
    • Special Characters
    • String Patterns
    • Working with String Patterns
    • See Also
      • TextPosition
      • Position
      • StringCases
      • StringCount
      • StringContainsQ
      • Characters
      • FindList
      • ReplaceList
      • StringExpression
      • RegularExpression
      • StringDrop
      • StringInsert
      • StringTake
      • SequenceAlignment
    • Related Guides
      • String Operations
      • Biomolecular Sequences
      • String Manipulation
      • Sequence Alignment & Comparison
    • Tech Notes
      • Operations on Strings
      • Special Characters
      • String Patterns
      • Working with String Patterns

StringPosition["string","sub"]

gives a list of the starting and ending character positions at which "sub" appears as a substring of "string".

StringPosition["string",patt]

gives all positions at which substrings matching the general string expression patt appear in "string".

StringPosition["string",patt,n]

includes only the first n occurrences of patt.

StringPosition["string",{patt1,patt2,…}]

gives positions of all the patti.

StringPosition[{s1,s2,…},p]

gives the list of results for each of the si.

StringPosition[patt]

represents an operator form of StringPosition that can be applied to an expression.

Details and Options
Details and Options Details and Options
Examples  
Basic Examples  
Scope  
Options  
IgnoreCase  
Overlaps  
Applications  
Properties & Relations  
Possible Issues  
See Also
Tech Notes
Related Guides
Related Links
History
Cite this Page
BUILT-IN SYMBOL
  • See Also
    • TextPosition
    • Position
    • StringCases
    • StringCount
    • StringContainsQ
    • Characters
    • FindList
    • ReplaceList
    • StringExpression
    • RegularExpression
    • StringDrop
    • StringInsert
    • StringTake
    • SequenceAlignment
  • Related Guides
    • String Operations
    • Biomolecular Sequences
    • String Manipulation
    • Sequence Alignment & Comparison
  • Tech Notes
    • Operations on Strings
    • Special Characters
    • String Patterns
    • Working with String Patterns
    • See Also
      • TextPosition
      • Position
      • StringCases
      • StringCount
      • StringContainsQ
      • Characters
      • FindList
      • ReplaceList
      • StringExpression
      • RegularExpression
      • StringDrop
      • StringInsert
      • StringTake
      • SequenceAlignment
    • Related Guides
      • String Operations
      • Biomolecular Sequences
      • String Manipulation
      • Sequence Alignment & Comparison
    • Tech Notes
      • Operations on Strings
      • Special Characters
      • String Patterns
      • Working with String Patterns

StringPosition

StringPosition["string","sub"]

gives a list of the starting and ending character positions at which "sub" appears as a substring of "string".

StringPosition["string",patt]

gives all positions at which substrings matching the general string expression patt appear in "string".

StringPosition["string",patt,n]

includes only the first n occurrences of patt.

StringPosition["string",{patt1,patt2,…}]

gives positions of all the patti.

StringPosition[{s1,s2,…},p]

gives the list of results for each of the si.

StringPosition[patt]

represents an operator form of StringPosition that can be applied to an expression.

Details and Options

  • The string expression patt can contain any of the objects specified in the notes for StringExpression.
  • StringPosition takes the following options:
  • IgnoreCase Falsewhether to turn off case-sensitive matching
    Overlaps Truewhich overlapping matches to include
  • With the default option setting Overlaps->True, StringPosition includes substrings that overlap. With the setting Overlaps->False, such substrings are excluded. »
  • With Overlaps->All, multiple substrings that match the same string expression are all included. With Overlaps->True, only the first such matching substring at a given position is included. »
  • Setting the option IgnoreCase->True makes StringPosition treat lowercase and uppercase letters as equivalent. »
  • StringPosition returns sequence specifications in the form used by StringTake, StringDrop, and StringReplacePart. »
  • StringPosition["string",RegularExpression["regex"]] gives positions of substrings matching the specified regular expression.
  • StringPosition[patt][expr] is equivalent to StringPosition[expr, patt].
  • StringPosition[BioSequence["type","seq"],patt,…] searches the string "seq" for occurrences of patt. In this case, degenerate letters in patt are interpreted as wildcard patterns based on the type of biomolecular sequence. Use Verbatim["patt"] to match degenerate letters literally.
  • The documentation for BioSequence lists the degenerate letters supported by each type of biomolecular sequence.
  • If the biomolecular sequence operated upon by StringPosition is circular, wraparound matches are possible. As in StringTake, StringDrop and StringReplacePart, wraparound matches have the form {m,n} with m>n.

Examples

open all close all

Basic Examples  (3)

Find the starting and ending positions at which "XYZ" occurs in a string:

Find where any pairs of identical characters occur:

Use the operator form of StringPosition:

Scope  (7)

StringPosition gives substring positions in the form used by functions like StringTake:

Find the position of the first occurrence of "XYZ":

StringPosition by default includes overlaps:

Use Overlaps->False to exclude overlaps:

Find the position of a subsequence within a DNA sequence:

Use a wildcard in the pattern found in a given biomolecular sequence:

The "N" is a degenerate letter and is not a wildcard except in biomolecular sequences:

Additional wraparound matches may be found in circular biomolecular sequences:

Match only literal degenerate letter occurrences using Verbatim:

Options  (5)

IgnoreCase  (2)

Treat "a" and "A" as the same:

Treat "a" and "A" as different:

Find successive identical characters independent of case:

Overlaps  (3)

StringPosition by default includes overlaps:

By default, StringPosition only includes one substring starting at any given position:

With Overlaps->All, it includes all substrings:

Find positions of subsequences in a circular DNA sequence, including overlaps:

Do not allow overlaps between the subsequences:

Applications  (2)

Find positions of pairs of identical letters in a concatenation sequence:

Find an analogous curve for triples:

Find the positions of the word "president" in the US Constitution:

Properties & Relations  (2)

Use StringTake to extract substrings found by StringPosition:

StringCases by default excludes overlaps:

Use StringReplacePart to replace at positions found by StringPosition:

Possible Issues  (1)

Lists of string patterns in StringPosition are sometimes not the same as pattern alternatives:

See Also

TextPosition  Position  StringCases  StringCount  StringContainsQ  Characters  FindList  ReplaceList  StringExpression  RegularExpression  StringDrop  StringInsert  StringTake  SequenceAlignment

Tech Notes

    ▪
  • Operations on Strings
  • ▪
  • Special Characters
  • ▪
  • String Patterns
  • ▪
  • Working with String Patterns

Related Guides

    ▪
  • String Operations
  • ▪
  • Biomolecular Sequences
  • ▪
  • String Manipulation
  • ▪
  • Sequence Alignment & Comparison

Related Links

  • NKS|Online  (A New Kind of Science)

History

Introduced in 1991 (2.0) | Updated in 2003 (5.0) ▪ 2004 (5.1) ▪ 2016 (10.4) ▪ 2020 (12.2)

Wolfram Research (1991), StringPosition, Wolfram Language function, https://reference.wolfram.com/language/ref/StringPosition.html (updated 2020).

Text

Wolfram Research (1991), StringPosition, Wolfram Language function, https://reference.wolfram.com/language/ref/StringPosition.html (updated 2020).

CMS

Wolfram Language. 1991. "StringPosition." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2020. https://reference.wolfram.com/language/ref/StringPosition.html.

APA

Wolfram Language. (1991). StringPosition. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/StringPosition.html

BibTeX

@misc{reference.wolfram_2025_stringposition, author="Wolfram Research", title="{StringPosition}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/StringPosition.html}", note=[Accessed: 01-February-2026]}

BibLaTeX

@online{reference.wolfram_2025_stringposition, organization={Wolfram Research}, title={StringPosition}, year={2020}, url={https://reference.wolfram.com/language/ref/StringPosition.html}, note=[Accessed: 01-February-2026]}

Top
Introduction for Programmers
Introductory Book
Wolfram Function Repository | Wolfram Data Repository | Wolfram Data Drop | Wolfram Language Products
Top
  • Products
  • Wolfram|One
  • Mathematica
  • Notebook Assistant + LLM Kit
  • Compute Services
  • System Modeler

  • Wolfram|Alpha Notebook Edition
  • Wolfram|Alpha Pro
  • Mobile Apps

  • Wolfram Engine
  • Wolfram Player

  • Volume & Site Licensing
  • Server Deployment Options
  • Consulting
  • Wolfram Consulting
  • Repositories
  • Data Repository
  • Function Repository
  • Community Paclet Repository
  • Neural Net Repository
  • Prompt Repository

  • Wolfram Language Example Repository
  • Notebook Archive
  • Wolfram GitHub
  • Learning
  • Wolfram U
  • Wolfram Language Documentation
  • Webinars & Training
  • Educational Programs

  • Wolfram Language Introduction
  • Fast Introduction for Programmers
  • Fast Introduction for Math Students
  • Books

  • Wolfram Community
  • Wolfram Blog
  • Public Resources
  • Wolfram|Alpha
  • Wolfram Problem Generator
  • Wolfram Challenges

  • Computer-Based Math
  • Computational Thinking
  • Computational Adventures

  • Demonstrations Project
  • Wolfram Data Drop
  • MathWorld
  • Wolfram Science
  • Wolfram Media Publishing
  • Customer Resources
  • Store
  • Product Downloads
  • User Portal
  • Your Account
  • Organization Access

  • Support FAQ
  • Contact Support
  • Company
  • About Wolfram
  • Careers
  • Contact
  • Events
Wolfram Community Wolfram Blog
Legal & Privacy Policy
WolframAlpha.com | WolframCloud.com
© 2026 Wolfram
© 2026 Wolfram | Legal & Privacy Policy |
English