MATLAB中extractBefore函数用法

devtools/2025/2/6 6:56:13/

目录

语法

说明

示例

选择子字符串前的文本

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

选择位置前的子字符串

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


        extractBefore函数的功能是提取指定位置前的子字符串。

语法

newStr = extractBefore(str,pat)
newStr = extractBefore(str,pos)

说明

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

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

        newStr = extractBefore(str,pos) 提取以 str 的第一个字符开头并在 pos 指定的位置之前结束的子字符串。

示例

选择子字符串前的文本

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

str = "The quick brown fox"
str = 
"The quick brown fox"

        提取子字符串 " brown" 之前出现的子字符串。extractBefore 函数选择该文本,但不在输出中包括 " brown"。

newStr = extractBefore(str," brown")
newStr = 
"The quick"

        根据字符串数组中的元素创建新字符串数组。当将不同子字符串指定为位置时,它们必须包含在与 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"

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

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

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

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"

        要提取路径,请先创建一个与路径末尾的文件名匹配的模式,然后提取该模式之前的路径。

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

name = wildcardPattern("Except","\")
name = patternMatching:wildcardPattern("Except","\")

        然后,创建一个模式,匹配在 "\" 字符与字符串末尾之间找到的任何名称。使用 textBoundary 函数匹配字符串的末尾。

pat = "\" + name + textBoundary
pat = patternMatching:"\" + wildcardPattern("Except","\") + textBoundary

        最后,调用 extractBefore。

paths = extractBefore(str,pat)
paths = 3x1 string"C:\Temp""C:\Data\Experiment1\Trial1""C:\Temp"

选择位置前的子字符串

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

str = "Edgar Allen Poe"
str = 
"Edgar Allen Poe"

        选择第 6 个字符前的子字符串。

newStr = extractBefore(str,6)
newStr = 
"Edgar"

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

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"

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

newStr = extractBefore(str,12)
newStr = 2x1 string"Edgar Allen""Louisa May "

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

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

chr = 'peppers and onions'
chr = 
'peppers and onions'

        选择第 8 个位置前的子字符串。

newChr = extractBefore(chr,8)
newChr = 
'peppers'

        选择子字符串前的文本。

newChr = extractBefore(chr,' and')
newChr = 
'peppers'

参数说明

str — 输入文本

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

pat — 标记结束位置的文本或模式

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

  • 字符串数组

  • 字符向量

  • 字符向量元胞数组

  • ​pattern 数组

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

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

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

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

pos — 结束位置

        结束位置,指定为数值数组。

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

newStr — 输出文本

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


http://www.ppmy.cn/devtools/156477.html

相关文章

C_位运算符及其在单片机寄存器的操作

C语言的位运算符用于直接操作二进制位,本篇简单结束各个位运算符的作业及其在操作寄存器的应用场景。 一、位运算符的简单说明 1、按位与运算符(&) 功能:按位与运算符对两个操作数的每一位执行与操作。如果两个对应的二进制…

【SLAM】于ubuntu18.04上纯CPU运行GCNv2_SLAM的记录(ARM64/AMD64)

配置GCNv2_SLAM所需的环境并实现纯cpu运行项目的全过程记录。 本文首发于❄慕雪的寒舍 前排提醒:本文所述安装方式只在没有显卡的虚拟机上通过了测试,有显卡的主机涉及到CUDA等显卡依赖项版本问题,本文可能不适用! 1. 环境说明 …

强化学习在自动驾驶中的实现与挑战

强化学习在自动驾驶中的实现与挑战 自动驾驶技术作为当今人工智能领域的前沿之一,正通过各种方式改变我们的出行方式。而强化学习(Reinforcement Learning, RL),作为机器学习的一大分支,在自动驾驶的实现中扮演了至关重要的角色。它通过模仿人类驾驶员的决策过程,为车辆…

【加餐】使⽤指针实现链表

【加餐】使⽤指针实现链表 ​ 面向过程方式和面向对象方式(把面向过程的封装一下就行了)是两种不同的编程方法论

IDA Pro的基础指南

引言 在网络安全和软件分析领域,逆向工程是理解程序行为、挖掘漏洞或分析恶意软件的核心技能之一。而IDA Pro(Interactive Disassembler)作为逆向工程的“瑞士军刀”,是每位安全研究员和分析师的必备工具。本文将带你从零开始&…

C# Action和 Func的用法

C#中的数据类型 函数数据类型 Action 是一个数据类型 但是是没有返回值得函数数据类型 Func 用于指定一个有返回值的委托 internal class Program{static void Main(string[] args){TT.F1(NoVoid);TT.F2(Void1);Void2(() > { Console.WriteLine("Void2执行了");…

ImGui 学习笔记(二)—— 多视口

在计算机图形学中,视口(Viewport)是一个可观察的多边形区域。 将物体渲染至图像的过程中,会用两种区域表示。世界坐标窗口是用户所关注的区域(即用户想要可视化的东西),坐标系由应用程序确定。…

图数据集整理

一. 大图数据集: 1.Big Graph Data Setshttps://lgylym.github.io/big-graph/dataset.html SNAP的数据集很不错的 2. Network Data Repository | The First Interactive Network Data Repository 可视化的的数据集 二. 图异常检测数据集和工作汇总: https://github.com/Xi…