Determine if strings start with pattern
TF = startsWith(str,pat)
TF = startsWith(str,pat,'IgnoreCase',true)
example
TF = startsWith(str,pat) returns 1 (true) if str starts with the specified pattern, and returns 0 (false) otherwise.
str
pat
1
true
0
false
If pat is an array containing multiple patterns, then startsWith returns 1 if it finds that str starts with any element of pat.
startsWith
TF = startsWith(str,pat,'IgnoreCase',true) ignores case when determining if str starts with pat.
collapse all
Create a string array that contains file names. Determine which file names start with the word data.
data
Starting in R2017a, you can create strings using double quotes.
str = ["abstract.docx","data.tar","code.m"; ... "data-analysis.ppt","results.ptx","summary.ppt"]
str = 2x3 string "abstract.docx" "data.tar" "code.m" "data-analysis.ppt" "results.ptx" "summary.ppt"
If you are using R2016b, create string arrays using the string function instead of double quotes.
string
Return a logical array where the position of each element equal to 1 corresponds to the position of a string in str that starts with data.
pat = "data"; TF = startsWith(str,pat)
TF = 2x3 logical array 0 1 0 1 0 0
Display the file names that start with data. Index back into str using TF.
TF
str(TF)
ans = 2x1 string "data-analysis.ppt" "data.tar"
Since R2020b
Create a string array that has references to files, including full paths for local files and URLs for remote ones.
str = ["C:\Temp\MyReport.docx"; "D:\Data\Experiment1\Trial1\Sample1.csv"; "https://example.com/Slides.pptx"]
str = 3x1 string "C:\Temp\MyReport.docx" "D:\Data\Experiment1\Trial1\Sample1.csv" "https://example.com/Slides.pptx"
To find the paths that start with a drive letter, create a pattern that matches one letter followed by a colon.
pat = lettersPattern(1) + ":"
pat = pattern Matching: lettersPattern(1) + ":"
Determine which elements of str start with that pattern. The pattern pat does not match "https:" because lettersPattern(1) matches only one letter.
"https:"
lettersPattern(1)
TF = 3x1 logical array 1 1 0
Display the matching file names.
ans = 2x1 string "C:\Temp\MyReport.docx" "D:\Data\Experiment1\Trial1\Sample1.csv"
For a list of functions that create pattern objects, see pattern.
pattern
Create a string array that contains file names. Determine which file names start with either abstract or data.
abstract
str = ["abstract.docx","data.tar.gz","mycode.m","results.ptx"]
str = 1x4 string "abstract.docx" "data.tar.gz" "mycode.m" "results.ptx"
pat = ["abstract","data"]; TF = startsWith(str,pat)
TF = 1x4 logical array 1 1 0 0
Display the strings that start with either abstract or data. Index back into str using TF.
ans = 1x2 string "abstract.docx" "data.tar.gz"
Create a string array that contains file names. Determine which file names start with data, ignoring case.
str = ["DATA.TAR.GZ","data.xlsx","SUMMARY.PPT","tmp.gz"]
str = 1x4 string "DATA.TAR.GZ" "data.xlsx" "SUMMARY.PPT" "tmp.gz"
pat = "data"; TF = startsWith(str,pat,'IgnoreCase',true)
Display the strings that start with data. Index back into str using TF.
ans = 1x2 string "DATA.TAR.GZ" "data.xlsx"
Create a character vector that contains the name of a file. Determine if the name starts with different substrings.
chr = 'data-analysis.ppt'
TF = startsWith(chr,'data')
TF = logical 1
TF = startsWith(chr,'test')
TF = logical 0
Input text, specified as a string array, character vector, or cell array of character vectors.
Search pattern, specified as one of the following:
String array
Character vector
Cell array of character vectors
pattern array (since R2020b)
Usage notes and limitations:
Pattern objects are not supported.
For more information, see Tall Arrays.
str and pattern must be a string scalar, a character vector, or a cell array containing not more than one character vector.
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).
contains | count | endsWith | extract | lettersPattern | matches | pattern | replace | split
contains
count
endsWith
extract
lettersPattern
matches
replace
split
You have a modified version of this example. Do you want to open this example with your edits?