MATLAB中extractAfter函数用法

目录

语法

说明

示例

选择子字符串后的文本

使用模式提取路径后的文件名

选择指定位置后的子字符串

选择字符向量中位置之后的文本


extractAfter函数的用法是提取指定位置后的子字符串。

语法

cs 复制代码
newStr = extractAfter(str,pat)
newStr = extractAfter(str,pos)

说明

**newStr = extractAfter(str,pat)**提取在 pat 指定的子字符串后开始并以 str 的最后一个字符结尾的子字符串。如果 pat 在 str 中多次出现,则 newStr 是 str 中从 pat 第一次出现的位置到结束的内容。

如果 str 是一个字符串数组或字符向量元胞数组,extractAfter 将提取 str 的每个元素中的子字符串。输出参数 newStr 的数据类型与 str 相同。

newStr = extractAfter(str,pos) 提取在 pos 指定的位置后开始并以 str 的最后一个字符结尾的子字符串。

示例

选择子字符串后的文本

创建字符串数组,并选择子字符串之后出现的文本。

cs 复制代码
str = "The quick brown fox"
str = 
"The quick brown fox"

提取子字符串 "quick " 之后出现的子字符串。extractAfter 函数选择新文本,但不在输出中包括 "quick "。

cpp 复制代码
newStr = extractAfter(str,"quick ")
newStr = 
"brown fox"

根据字符串数组中的元素创建新字符串数组。当您将不同子字符串指定为位置时,它们必须包含在与输入字符串数组具有相同大小的字符串数组或元胞数组中。

cpp 复制代码
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"

还可以将子字符串指定为应用于输入字符串数组的所有元素的位置。

使用模式提取路径后的文件名

创建一个由文件名(包括完整路径)组成的字符串数组。

cpp 复制代码
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"

要提取文件名,请先创建一个匹配完整路径的模式,然后提取该模式后的内容。

一个完整的路径可以包含若干层级,每一层级可由后跟 "\" 字符的任意文本组成。因此,请先创建一个匹配一个级别的模式。

cs 复制代码
level = wildcardPattern + "\"
level = pattern
  Matching:

    wildcardPattern + "\"

然后,创建一个匹配完整路径的模式,其中可包含任意数量的层级。

cpp 复制代码
pat = asManyOfPattern(level)
pat = pattern
  Matching:

    asManyOfPattern(wildcardPattern + "\")

最后,调用 extractAfter。

cs 复制代码
filenames = extractAfter(str,pat)
filenames = 3x1 string
    "MyReport.docx"
    "Sample1.csv"
    "Slides.pptx"

选择指定位置后的子字符串

使用指定位置后的子字符串创建字符串。

cs 复制代码
str = "Edgar Allen Poe"
str = 
"Edgar Allen Poe"

选择第 12 个字符后的子字符串。

cs 复制代码
newStr = extractAfter(str,12)
newStr = 
"Poe"

从字符串数组的每个元素中选择子字符串。当使用数值数组指定不同位置时,它们必须与输入字符串数组具有相同大小。

cs 复制代码
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"

从每个元素中选择子字符串,指定相同的位置。

cs 复制代码
newStr = extractAfter(str,6)
newStr = 2x1 string
    "Allen Poe"
    " May Alcott"

选择字符向量中位置之后的文本

创建字符向量。然后,创建作为chr子字符串的新字符向量。

cs 复制代码
chr = 'peppers and onions'
chr = 
'peppers and onions'

选择第 12 个位置后的文本。

cs 复制代码
newChr = extractAfter(chr,12)
newChr = 
'onions'

选择子字符串后的文本。

cpp 复制代码
newChr = extractAfter(chr,'and ')
newChr = 
'onions'

参数说明

str --- 输入文本

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

pat --- 标记开始位置的文本或模式

str 中标记所提取文本的开始位置的文本或模式,指定为以下项之一:

  • 字符串数组

  • 字符向量

  • 字符向量元胞数组

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

extractAfter 函数从提取的子字符串中排除 pat。

如果 str 是字符串数组或字符向量元胞数组,则可以从 str 的每个元素中提取子字符串。您可以指定子字符串在 str 的每个元素中都有相同的开头,或不同的开头。

  • 要指定相同的开头,请将 pat 指定为字符向量、字符串标量或 pattern 对象。

  • 要指定不同开头,请将 pat 指定为字符串数组、字符向量元胞数组或 pattern 数组。

pos --- 开始位置

开始位置,指定为数值数组。extractAfter 从提取的子字符串中排除位于 pos 处的字符。

如果 str 是一个字符串数组或字符向量元胞数组,则 pos 可以是与 str 具有相同大小的数值标量或数值数组。

newStr --- 输出文本

输出文本,以字符串数组、字符向量或字符向量元胞数组形式返回。

相关推荐
C++ 老炮儿的技术栈2 小时前
UDP 与 TCP 的区别是什么?
开发语言·c++·windows·算法·visual studio
wgslucky2 小时前
Dubbo报错:module java.base does not “opens java.lang“ to unnamed module
java·开发语言·dubbo
whyeekkk2 小时前
python打卡第48天
开发语言·python
DougLiang3 小时前
关于easyexcel动态下拉选问题处理
java·开发语言
全职计算机毕业设计4 小时前
基于Java Web的校园失物招领平台设计与实现
java·开发语言·前端
5:004 小时前
云备份项目
linux·开发语言·c++
笨笨马甲5 小时前
Qt Quick模块功能及架构
开发语言·qt
夜晚回家5 小时前
「Java基本语法」代码格式与注释规范
java·开发语言
YYDS3145 小时前
C++动态规划-01背包
开发语言·c++·动态规划
前端页面仔5 小时前
易语言是什么?易语言能做什么?
开发语言·安全