Main Content

startsWith

Determine if strings start with pattern

Description

TF = startsWith(str,pat) returns 1 (true) if str starts with the specified pattern, and returns 0 (false) otherwise.

If pat is an array containing multiple patterns, then startsWith returns 1 if it finds that str starts with any element of pat.

example

TF = startsWith(str,pat,'IgnoreCase',true) ignores case when determining if str starts with pat.

example

Examples

collapse all

Create a string array that contains file names. Determine which file names start with the word data.

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"

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.

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.

TF = startsWith(str,pat)
TF = 3x1 logical array

   1
   1
   0

Display the matching file names.

str(TF)
ans = 2x1 string
    "C:\Temp\MyReport.docx"
    "D:\Data\Experiment1\Trial1\Sample1.csv"

For a list of functions that create pattern objects, see pattern.

Create a string array that contains file names. Determine which file names start with either abstract or data.

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.

str(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)
TF = 1x4 logical array

   1   1   0   0

Display the strings that start with data. Index back into str using TF.

str(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'
chr = 
'data-analysis.ppt'
TF = startsWith(chr,'data')
TF = logical
   1

TF = startsWith(chr,'test')
TF = logical
   0

Input Arguments

collapse all

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)

Extended Capabilities

Version History

Introduced in R2016b