Extract substrings after specified positions
collapse all in page
Syntax
newStr = extractAfter(str,pat)
newStr = extractAfter(str,pos)
Description
example
newStr = extractAfter(str,pat)
extracts the substring that begins after the substring specified by pat
and ends with the last character of str
. If pat
occurs multiple times in str
, then newStr
is str
from the first occurrence of pat
to the end.
If str
is a string array or a cell arrayof character vectors, then extractAfter
extractssubstrings from each element of str
. The outputargument newStr
has the same data type as str
.
example
newStr = extractAfter(str,pos)
extracts the substring that begins after the position specified by pos
and ends with the last character of str
.
Examples
collapse all
Select Text After Substring
Open Live Script
Create string arrays and select text that occurs after substrings.
str = "The quick brown fox"
str = "The quick brown fox"
Extract the substring that occurs after the substring "quick "
. The extractAfter
function selects the new text but does not include "quick "
in the output.
newStr = extractAfter(str,"quick ")
newStr = "brown fox"
Create a new string array from the elements of a string array. When you specify different substrings as positions, they must be contained in a string array or a cell array that is the same size as the input string array.
str = ["The quick brown fox jumps";"over the lazy dog"]
str = 2x1 string "The quick brown fox jumps" "over the lazy dog"
newStr = extractAfter(str,["quick ";"the "])
newStr = 2x1 string "brown fox jumps" "lazy dog"
You also can specify one substring as a position that is applied to all elements of the input string array.
Extract File Name After Path Using Pattern
Open Live Script
Since R2020b
Create a string array of file names, including full paths.
str = ["C:\Temp\MyReport.docx"; "C:\Data\Experiment1\Trial1\Sample1.csv"; "C:\Temp\Slides.pptx"]
str = 3x1 string "C:\Temp\MyReport.docx" "C:\Data\Experiment1\Trial1\Sample1.csv" "C:\Temp\Slides.pptx"
To extract the file names, first create a pattern that matches a full path, and then extract what comes after that pattern.
A full path can have several levels, each consisting of any text followed by a "\"
character. So start by creating a pattern that matches one level.
level = wildcardPattern + "\"
level = pattern Matching: wildcardPattern + "\"
Then, create a pattern that matches a full path, containing any number of levels.
pat = asManyOfPattern(level)
pat = pattern Matching: asManyOfPattern(wildcardPattern + "\")
Finally, call extractAfter
.
filenames = extractAfter(str,pat)
filenames = 3x1 string "MyReport.docx" "Sample1.csv" "Slides.pptx"
For a list of functions that create pattern objects, see pattern.
Select Substrings After Position
Open Live Script
Create strings after specified positions.
str = "Edgar Allen Poe"
str = "Edgar Allen Poe"
Select the substring after the 12th character.
newStr = extractAfter(str,12)
newStr = "Poe"
Select substrings from each element of a string array. When you specify different positions with numeric arrays, they must be the same size as the input string array.
str = ["Edgar Allen Poe";"Louisa May Alcott"]
str = 2x1 string "Edgar Allen Poe" "Louisa May Alcott"
newStr = extractAfter(str,[12;11])
newStr = 2x1 string "Poe" "Alcott"
Select substrings from each element and specify the same position.
newStr = extractAfter(str,6)
newStr = 2x1 string "Allen Poe" " May Alcott"
Select Text After Position in Character Vector
Open Live Script
Create a character vector. Then create new character vectors that are substrings of chr
.
chr = 'peppers and onions'
chr = 'peppers and onions'
Select text after the 12th position.
newChr = extractAfter(chr,12)
newChr = 'onions'
Select text after a substring.
newChr = extractAfter(chr,'and ')
newChr = 'onions'
Input Arguments
collapse all
str
— Input text
string array | character vector | cell array of character vectors
Input text, specified as a string array, character vector, or cell array of character vectors.
pat
— Text or pattern that marks start position
string array | character vector | cell array of character vectors | pattern
array (since R2020b)
Text or pattern in str
that marks the start position for extracted text, specified as one of the following:
String array
Character vector
Cell array of character vectors
pattern array (since R2020b)
The extractAfter
function excludes pat
from the substring that is extracted.
If str
is a string array or cell array of character vectors, then you can extract substrings from every element of str
. You can specify that the substrings either all have the same start or have different starts in each element of str
.
To specify the same start, specify
pat
as a character vector, string scalar, orpattern
object.To specify different starts, specify
pat
as a string array, cell array of character vectors, orpattern
array.
pos
— Start position
numeric array
Start position, specified as a numeric array. extractAfter
excludes the character at pos
from the extracted substring.
If str
is a string array or cell array of character vectors, then pos
can be a numeric scalar or numeric array of the same size as str
.
Output Arguments
collapse all
newStr
— Output text
string array | character vector | cell array of character vectors
Output text, returned as a string array, character vector, or cell array of character vectors.
Extended Capabilities
Tall Arrays
Calculate with arrays that have more rows than fit in memory.
Usage notes and limitations:
Pattern objects are not supported.
For more information, see Tall Arrays.
C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.
Usage notes and limitations:
str
andpat
must be a string scalar, a character vector, or a cell array containing not more than one character vector.
Thread-Based Environment
Run code in the background using MATLAB® backgroundPool
or accelerate code with Parallel Computing Toolbox™ ThreadPool
.
This function fully supports thread-based environments. For more information, see Run MATLAB Functions in Thread-Based Environment.
Distributed Arrays
Partition large arrays across the combined memory of your cluster using Parallel Computing Toolbox™.
Usage notes and limitations:
pat
must be a string array, character vector, or a cell array of character vectors.
For more information, see Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox).
Version History
Introduced in R2016b
See Also
split | join | erase | extract | extractBefore | extractBetween | insertAfter | insertBefore | replace | strlength | count | pattern | wildcardPattern | asManyOfPattern
Topics
- Create String Arrays
- Search and Replace Text
- Build Pattern Expressions
- Test for Empty Strings and Missing Values
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- Deutsch
- English
- Français
- United Kingdom (English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本 (日本語)
- 한국 (한국어)
Contact your local office