Main Content

endsWith

确定字符串是否以模式结尾

说明

示例

如果 str 以指定的模式结尾,TF = endsWith(str,pat) 将返回 1 (true),否则返回 0 (false)。

如果 pat 是一个包含多个模式的数组,则当 endsWith 发现 str 以任何 pat 元素结尾时,它将返回 1

示例

在确定 str 是否以 pat 结尾时,TF = endsWith(str,pat,'IgnoreCase',true) 将忽略大小写。

示例

全部折叠

创建一个包含文件名的字符串数组。确定哪些文件名以 .gz 扩展名结尾。

str = ["abstract.docx","data.tar.gz","mycode.m"; ...
       "data-analysis.ppt","results.ptx","temp-archive.gz"]
str = 2x3 string
    "abstract.docx"        "data.tar.gz"    "mycode.m"       
    "data-analysis.ppt"    "results.ptx"    "temp-archive.gz"

返回一个逻辑数组,其中等于 1 的每个元素位置对应于 str 中以 .gz 结尾的字符串位置。

pat = ".gz";
TF = endsWith(str,pat)
TF = 2x3 logical array

   0   1   0
   0   0   1

显示以 .gz 结尾的文件名。使用 TF 重新索引 str

str(TF)
ans = 2x1 string
    "data.tar.gz"
    "temp-archive.gz"

创建一个由文件名称和文件夹名称组成的字符串数组,其中一些名称包含扩展名。

str = ["abstract.docx","data.tar.gz","REPORTS"; ...
       "data-analysis.ppt","results.ptx","ARCHIVE"]
str = 2x3 string
    "abstract.docx"        "data.tar.gz"    "REPORTS"
    "data-analysis.ppt"    "results.ptx"    "ARCHIVE"

要查找以扩展名结尾的名称,请使用 lettersPattern 函数创建一个匹配句点后跟字母的模式。(您可以通过在表达式中组合简单模式来构建复杂模式。此类表达式还可以包含字面文本,如此示例中的 "."。)

pat = "." + lettersPattern
pat = pattern
  Matching:

    "." + lettersPattern

返回一个逻辑数组,指示哪些名称以扩展名结尾。

TF = endsWith(str,pat)
TF = 2x3 logical array

   1   1   0
   1   1   0

显示匹配的名称。

str(TF)
ans = 4x1 string
    "abstract.docx"
    "data-analysis.ppt"
    "data.tar.gz"
    "results.ptx"

查找扩展名恰好为三个字母的名称。

pat = "." + lettersPattern(3);
TF = endsWith(str,pat);
str(TF)
ans = 2x1 string
    "data-analysis.ppt"
    "results.ptx"

有关创建模式对象的函数列表,请参阅pattern

创建一个包含文件名的字符串数组。确定哪些文件名以 .docx.xlsx.gz 扩展名结尾。

str = ["data.tar.gz","mycode.m","outputs.xlsx","results.pptx"]
str = 1x4 string
    "data.tar.gz"    "mycode.m"    "outputs.xlsx"    "results.pptx"

pat = [".docx",".xlsx",".gz"];
TF = endsWith(str,pat)
TF = 1x4 logical array

   1   0   1   0

显示以 .docx.xlsx.gz 结尾的文件名。使用 TF 重新索引 str

str(TF)
ans = 1x2 string
    "data.tar.gz"    "outputs.xlsx"

创建一个包含文件名的字符串数组。确定哪些文件名以 .gz 扩展名结尾,忽略大小写。

str = ["DATA.TAR.GZ","mycode.m","SUMMARY.PPT","tmp.gz"]
str = 1x4 string
    "DATA.TAR.GZ"    "mycode.m"    "SUMMARY.PPT"    "tmp.gz"

pattern = ".gz";
TF = endsWith(str,pattern,'IgnoreCase',true)
TF = 1x4 logical array

   1   0   0   1

显示以 .gz 结尾的文件名。使用 TF 重新索引 str

str(TF)
ans = 1x2 string
    "DATA.TAR.GZ"    "tmp.gz"

创建包含文件名称的字符向量。确定名称是否以指定的扩展名结尾。

chr = 'MyLatestPaper.docx'
chr = 
'MyLatestPaper.docx'
TF = endsWith(chr,'docx')
TF = logical
   1

TF = endsWith(chr,'gz')
TF = logical
   0

输入参数

全部折叠

输入文本,指定为字符串数组、字符向量或字符向量元胞数组。

搜索模式,指定为下列值之一:

  • 字符串数组

  • 字符向量

  • 字符向量元胞数组

  • pattern 数组(自 R2020b 开始提供)

扩展功能

版本历史记录

在 R2016b 中推出