extractBefore
Extract substrings before specified positions
Description
extracts the substring that begins with the first character of
newStr
= extractBefore(str
,pat
)str
and ends before the substring specified by
pat
. If pat
occurs multiple times in
str
, then newStr
is str
from the start of str
up to the first occurrence of
pat
.
If str
is a string array or a cell array
of character vectors, then extractBefore
extracts
substrings from each element of str
. The output
argument newStr
has the same data type as str
.
Examples
Select Text Before Substring
Create string arrays and select text that occurs before substrings.
str = "The quick brown fox"
str = "The quick brown fox"
Extract the substring that occurs before the substring " brown"
. The extractBefore
function selects the text but does not include " brown"
in the output.
newStr = extractBefore(str," brown")
newStr = "The quick"
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 str
.
str = ["The quick brown fox jumps";"over the lazy dog"]
str = 2x1 string
"The quick brown fox jumps"
"over the lazy dog"
newStr = extractBefore(str,[" brown";" dog"])
newStr = 2x1 string
"The quick"
"over the lazy"
You also can specify one substring as a position that is applied to all elements of the input string array.
Extract Paths Before File Names Using Patterns
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 paths, first create a pattern that matches the file name at the end of a path, and then extract the path that comes before 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 any characters except the "\"
character.
name = wildcardPattern("Except","\")
name = pattern
Matching:
wildcardPattern("Except","\")
Then, create a pattern that matches any name found between a "\"
character and the end of a string. Use the textBoundary
function to match the end of a string.
pat = "\" + name + textBoundary
pat = pattern
Matching:
"\" + wildcardPattern("Except","\") + textBoundary
Finally, call extractBefore
.
paths = extractBefore(str,pat)
paths = 3x1 string
"C:\Temp"
"C:\Data\Experiment1\Trial1"
"C:\Temp"
For a list of functions that create pattern objects, see pattern
.
Select Substrings Before Position
Create strings before specified positions.
str = "Edgar Allen Poe"
str = "Edgar Allen Poe"
Select the substring before the sixth character.
newStr = extractBefore(str,6)
newStr = "Edgar"
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 = extractBefore(str,[6;7])
newStr = 2x1 string
"Edgar"
"Louisa"
Select substrings from each element and specify the same position.
newStr = extractBefore(str,12)
newStr = 2x1 string
"Edgar Allen"
"Louisa May "
Select Text Before Position in Character Vector
Create a character vector. Then create new character vectors that are substrings of chr
.
chr = 'peppers and onions'
chr = 'peppers and onions'
Select the substring before the eighth position.
newChr = extractBefore(chr,8)
newChr = 'peppers'
Select text before a substring.
newChr = extractBefore(chr,' and')
newChr = 'peppers'
Input Arguments
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 end position
string array | character vector | cell array of character vectors | pattern
array
Text or pattern in str
that marks the end position for
extracted text, specified as one of the following:
String array
Character vector
Cell array of character vectors
pattern
array
The extractBefore
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 end or have different ends in each element of
str
.
To specify the same end, specify
pat
as a character vector, string scalar, orpattern
object.To specify different ends, specify
pat
as a string array, cell array of character vectors, orpattern
array.
pos
— End position
numeric array
End position, specified as a numeric array.
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
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
Abrir ejemplo
Tiene una versión modificada de este ejemplo. ¿Desea abrir este ejemplo con sus modificaciones?
Comando de MATLAB
Ha hecho clic en un enlace que corresponde a este comando de MATLAB:
Ejecute el comando introduciéndolo en la ventana de comandos de MATLAB. Los navegadores web no admiten comandos de MATLAB.
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:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
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
- United Kingdom (English)