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.
- 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 allclose allBasic 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)
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:
Applications (2)
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:
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