当前位置: 首页 > article >正文

MATLAB中eraseBetween函数用法

目录

语法

说明

示例

删除子字符串之间的文本

删除模式之间的文本

删除开始和结束位置之间的子字符串

在包含或不包含边界的情况下删除文本

删除字符向量中两个位置之间的文本


        eraseBetween函数的功能是删除起点和终点之间的子字符串。

语法

newStr = eraseBetween(str,startPat,endPat)
newStr = eraseBetween(str,startPos,endPos)
newStr = eraseBetween(___,'Boundaries',bounds)

说明

        newStr = eraseBetween(str,startPat,endPat) 删除 str 中出现在子字符串 startPat 和 endPat 之间的所有字符,但不删除 startPat 和 endPat 本身。eraseBetween 会将剩余文本作为 newStr 返回。

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

        newStr = eraseBetween(str,startPos,endPos) 删除 str 中出现在位置 startPos 和 endPos 之间的所有字符,包括这两个位置上的字符。

        newStr = eraseBetween(___,'Boundaries',bounds) 强制包含或不包含在上述任一语法中指定的开始和结束位置。当 bounds 为 'inclusive' 时,包含开始和结束位置;当 bounds 为 'exclusive' 时,不包含开始和结束位置。

        例如,eraseBetween(str,startPat,endPat,'Boundaries','inclusive') 删除 startPat、endPat 以及它们之间的所有文本。

示例

删除子字符串之间的文本

        创建字符串数组。然后删除出现在子字符串之间的文本。

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

        删除出现在子字符串 "quick" 和 " fox" 之间的文本。eraseBetween 函数会删除文本,但不会删除 "quick" 和 " fox"。

newStr = eraseBetween(str,"quick"," fox")
newStr = 
"The quick fox"

        从字符串数组的每个元素中删除子字符串。当您将不同子字符串指定为开头和结尾指示符时,它们必须包含在与 str 具有相同大小的字符串数组或字符向量元胞数组中。

str = ["The quick brown fox jumps";"over the lazy dog"]
str = 2x1 string
    "The quick brown fox jumps"
    "over the lazy dog"

startPos = ["quick";"the"];
endPos = [" fox";" dog"];
newStr = eraseBetween(str,startPos,endPos)
newStr = 2x1 string
    "The quick fox jumps"
    "over the dog"

删除模式之间的文本

        创建一个字符串数组,其中包含用标记括起来的文本。

str = ["<courseName>Calculus I</courseName>";
       "<semester>Fall 2020</semester>";
       "<schedule>MWF 8:00-8:50</schedule>"]
str = 3x1 string
    "<courseName>Calculus I</courseName>"
    "<semester>Fall 2020</semester>"
    "<schedule>MWF 8:00-8:50</schedule>"

        删除由标记括起来的文本。首先使用 wildcardPattern 函数创建匹配任何开始标记和结束标记的模式。

startPat = "<" + wildcardPattern + ">"
startPat = pattern
  Matching:

    "<" + wildcardPattern + ">"

endPat = "</" + wildcardPattern + ">"
endPat = pattern
  Matching:

    "</" + wildcardPattern + ">"

        然后,调用 eraseBetween 函数。

ewStr = eraseBetween(str,startPat,endPat)
newStr = 3x1 string
    "<courseName></courseName>"
    "<semester></semester>"
    "<schedule></schedule>"

删除开始和结束位置之间的子字符串

        创建字符串数组,并删除以数字指定的开始和结束位置之间的子字符串。

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

        删除子字符串。要删除中间名和其中一个空白字符,请指定字符串中的第 6 个和第 11 个位置。删除的子字符串包括第 6 个和第 11 个字符。

newStr = eraseBetween(str,6,11)
newStr = 
"Edgar Poe"

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

str = ["Edgar Allen Poe";"Louisa May Alcott"]
str = 2x1 string
    "Edgar Allen Poe"
    "Louisa May Alcott"

startsPos = [6;7];
endPos = [11;10];
newStr = eraseBetween(str,startsPos,endPos)
newStr = 2x1 string
    "Edgar Poe"
    "Louisa Alcott"

在包含或不包含边界的情况下删除文本

        在强制包含或不包含边界的情况下从字符串数组中删除文本。当它们为包含时,eraseBetween 将删除边界元素。当它们为不包含时,eraseBetween 将边界作为输出字符串数组的一部分返回。

str = "small|medium|large"
str = 
"small|medium|large"

        删除第 6 个和第 13 个位置之间的文本,但不删除这些位置上的字符。

newStr = eraseBetween(str,6,13,'Boundaries','exclusive')
newStr = 
"small||large"

        删除两个子字符串之间的文本,同时删除子字符串本身。

str = "The quick brown fox jumps over the lazy dog"
str = 
"The quick brown fox jumps over the lazy dog"
newStr = eraseBetween(str," brown","lazy",'Boundaries','inclusive')
newStr = 
"The quick dog"

删除字符向量中两个位置之间的文本

        创建字符向量,并删除开始和结束位置之间的文本。

chr = 'mushrooms, peppers, and onions'
chr = 
'mushrooms, peppers, and onions'
newChr = eraseBetween(chr,10,19)
newChr = 
'mushrooms and onions'

        删除子字符串之间的文本。

newChr = eraseBetween(chr,'mushrooms',' and')
newChr = 
'mushrooms and onions'

参数说明

str — 输入文本

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

startPat — 标记开始位置的文本或模式

标记要删除的文本的开始位置的文本或模式,指定为下列项之一:

  • 字符串数组

  • 字符向量

  • 字符向量元胞数组

  • ​pattern 数组

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

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

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

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

标记要删除的文本的结束位置的文本或模式,指定为下列项之一:

  • 字符串数组

  • 字符向量

  • 字符向量元胞数组

  • ​pattern 数组

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

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

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

startPos — 开始位置

        开始位置,指定为数值数组。

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

endPos — 结束位置

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

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

bounds — 边界行为

        边界行为,指定为 'inclusive' 或 'exclusive'。当边界行为是 inclusive(包含)时,由前面的参数指定的起点和终点将包含在删除的文本中。如果边界行为是 exclusive(不包含),则不包含起点和终点。

newStr — 输出文本

        输出文本,以字符串数组、字符向量或字符向量元胞数组形式返回。str 和 newStr 具有相同的数据类型。


http://www.kler.cn/a/560109.html

相关文章:

  • 【OS安装与使用】part5-ubuntu22.04基于conda安装pytorch+tensorflow
  • 从启动说起到单片机点灯发生了什么上——库层次
  • 分析 w-form-multiple-image.vue 文件中 console.log(v) 打印的内容
  • VScode 开发
  • Serilog详解
  • 2024-2025 学年广东省职业院校技能大赛 “信息安全管理与评估”赛项 技能测试试卷(一)
  • Linux主机用户登陆安全配置
  • 第46天:Web开发-JavaEE应用原生和FastJson反序列化URLDNS链JDBC链Gadget手搓
  • Python入门教程丨3.5 正则表达式
  • Gin从入门到精通(八)身份验证与授权(JWT)
  • 【C语言基础】基本数据类型和常量介绍
  • 2025 银行业科技金融创新与发展报告
  • 如何查看图片的原始格式
  • c高级终端指令
  • 【R语言】dplyr包经典函数summarise函数
  • 测试面试题:以一个登录窗口为例,设计一下登录界面测试的思路和方法
  • 【JavaEE】SpringMVC 请求传参
  • Ubuntu非conda环境python3.8下安装labelme
  • Vue全局变量的定义和使用,创建 Store变量、读取、修改
  • Django数据库操作