MATLAB中regexprep函数用法

server/2025/2/28 19:59:51/

目录

语法

说明

示例

更新的文本

在替代文本中包括词元

在替代文本中包括动态表达式

更新多段文本

保留原始文本中的大小写

替换零长度匹配项


        regexprep函数的功能是使用正则表达式替换文本。

语法

newStr = regexprep(str,expression,replace)
newStr = regexprep(str,expression,replace,option1,...optionM)

说明

​newStr= regexprep(str,expression,replace) 将 str 中与 expression 匹配的文本替换为 replace 描述的文本。regexprep 函数在 newStr 中返回更新的文本。​

  • 如果 str 是一段文本(字符向量或字符串标量),则 newStr 也是一段相同类型的文本。即使 expression 或 replace 是字符向量元胞数组或字符串数组,newStr 也是一段文本。当 expression 为元胞数组或字符串数组时,regexprep 将第一个表达式应用于 str,然后将每个后续表达式应用于前面的结果。

  • 如果 str 是元胞数组或字符串数组,则 newStr 是与 str 具有相同维度的元胞数组或字符串数组。对于 str 的每个元素,regexprep 函数按顺序应用各表达式。

  • 如果不存在与 expression 的匹配项,则 newStr 等同于 str。

newStr= regexprep(str,expression,replace,option1,...optionM) 使用指定的选项修改搜索。例如,指定 'ignorecase' 以执行不区分大小写的匹配。

示例

更新的文本

        替换以 M 开头和以 y 结尾且其中至少有一个字符的单词。

str = 'My flowers may bloom in May';
expression = 'M(\w+)y';
replace = 'April';newStr = regexprep(str,expression,replace)
newStr = 
'My flowers may bloom in April'

在替代文本中包括词元

        通过在词元中捕获紧随 'walk' 的字母来替换短语 'walk up' 的变体。

str = 'I walk up, they walked up, we are walking up.';
expression = 'walk(\w*) up';
replace = 'ascend$1';newStr = regexprep(str,expression,replace)
newStr = 
'I ascend, they ascended, we are ascending.'

在替代文本中包括动态表达式

        使用 upper 函数将句子开头的小写字母替换为其大写形式。

str = 'here are two sentences. neither is capitalized.';
expression = '(^|\.)\s*.';
replace = '${upper($0)}';newStr = regexprep(str,expression,replace)
newStr = 
'Here are two sentences. Neither is capitalized.'

        该正则表达式匹配紧随字符向量 (^) 开头的单个字符 (.) 或句点 (\.) 和任何空白 (\s*)。replace 表达式调用 upper 函数以获取当前匹配的字符 ($0)。

更新多段文本

        将一组字符向量中的每个双重复字母替换为符号 '--'

str = {                                 ...
'Whose woods these are I think I know.' ; ...
'His house is in the village though;'   ; ...
'He will not see me stopping here'      ; ...
'To watch his woods fill up with snow.'};expression = '(.)\1';
replace = '--';
newStr = regexprep(str,expression,replace)
newStr = 4x1 cell{'Whose w--ds these are I think I know.'}{'His house is in the vi--age though;'  }{'He wi-- not s-- me sto--ing here'     }{'To watch his w--ds fi-- up with snow.'}

保留原始文本中的大小写

        在查找匹配项时忽略正则表达式中的字母大小写,但在更新时模拟原始文本的字母大小写。

str = 'My flowers may bloom in May';
expression = 'M(\w+)y';
replace = 'April';newStr = regexprep(str,expression,replace,'preservecase')
newStr = 
'My flowers april bloom in April'

替换零长度匹配项

        使用 '^' 运算符在字符向量开头插入文本,这将返回零长度匹配项,以及 'emptymatch' 关键字。

str = 'abc';
expression = '^';
replace = '__';newStr = regexprep(str,expression,replace,'emptymatch')
newStr = 
'__abc'

参数说明

str — 要更新的文本

        要更新的文本,指定为字符向量、字符向量元胞数组或字符串数组。

expression — 正则表达式

        正则表达式,指定为字符向量、字符向量元胞数组或字符串数组。每个表达式可包含字符、元字符、运算符、词元和用于指定在 str 中匹配的模式的标志。

replace — 替代文本

替代文本,指定为字符向量、字符向量元胞数组或字符串数组,如下所示:

  • 如果 replace 为单个字符向量且 expression 为字符向量元胞数组,则 regexprep 对每个表达式使用相同的替代文本。

  • 如果 replace 为 N 字符向量的元胞数组且 expression 为单个字符向量,则 regexprep 尝试 N 次匹配和替代。

  • 如果 replace 和 expression 均为字符向量元胞数组,则它们必须包含相同数量的元素。regexprep 将每个 replace 元素与 expression 中与其匹配的元素配对。

option — 搜索或替代选项

        搜索或替代选项,指定为一个字符向量或整数值。

newStr — 更新的文本

        更新后的文本,以字符向量、字符向量元胞数组或字符串数组的形式返回。newStr 的数据类型与 str 的数据类型相同。


http://www.ppmy.cn/server/171369.html

相关文章

滑动验证组件-微信小程序

微信小程序-滑动验证组件&#xff0c;直接引用就可以了&#xff0c;效果如下&#xff1a; 组件参数&#xff1a; 1.enable-close&#xff1a;是否允许关闭&#xff0c;默认true 2.bind:onsuccess&#xff1a;验证后回调方法 引用方式&#xff1a; <verification wx:if&qu…

算法-数据结构-动态规划(有向图,到达一个节点的路径数量)

力扣题目&#xff1a;LCP 07. 传递信息 - 力扣&#xff08;LeetCode&#xff09; 小朋友 A 在和 ta 的小伙伴们玩传信息游戏&#xff0c;游戏规则如下&#xff1a; 有 n 名玩家&#xff0c;所有玩家编号分别为 0 &#xff5e; n-1&#xff0c;其中小朋友 A 的编号为 0每个玩家…

Hadoop第2课(伪分布式集群的搭建)

jdk和hadoop安装包&#xff1a; hadoop-2.9.2.t......等2个文件官方版下载丨最新版下载丨绿色版下载丨APP下载-123云盘 1、用XFTP发送hadoop安装包和jdk到/home/hadoop/目录下&#xff08;hadoop用户的主目录&#xff09; 2、解压jdk安装包到~目录 卸载jdk的命令&#xff1a;r…

w227springboot旅游管理系统设计与实现

&#x1f64a;作者简介&#xff1a;多年一线开发工作经验&#xff0c;原创团队&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取&#xff0c;记得注明来意哦~&#x1f339;赠送计算机毕业设计600个选题excel文…

一.Vue中的条件渲染

1.在<head>中引用 <script src"https://unpkg.com/vue3/dist/vue.global.js"></script> 2.在<body>中写入 <div id"app"><p><a v-if "user.usernameadmin"href"#">编辑</a><a …

Python学习第十七天之PyTorch保姆级安装

PyTorch安装与部署 一、准备工作二、pytorch介绍三、CPU版本pytorch安装1. 创建虚拟环境2. 删除虚拟环境1. 通过环境名称删除2. 通过环境路径删除 3. 配置镜像源4. 安装pytorch1. 首先激活环境变量2. 进入pytorch官网&#xff0c;找到安装指令 5. 验证pytorch是否安装成功 四、…

Java+Vue+uniapp微信小程序校园自助打印系统(程序+论文+讲解+安装+调试+售后)

感兴趣的可以先收藏起来&#xff0c;还有大家在毕设选题&#xff0c;项目以及论文编写等相关问题都可以给我留言咨询&#xff0c;我会一一回复&#xff0c;希望帮助更多的人。 系统介绍 在当今时代&#xff0c;网络与科学技术正以前所未有的速度迅猛发展&#xff0c;这股强大…

Elasticsearch:使用阿里云 AI 服务进行嵌入和重新排名

作者&#xff1a;来自 Elastic Toms Mura 将阿里云 AI 服务功能与 Elastic 结合使用。 更多阅读&#xff0c;请参阅 “Elasticsearch&#xff1a;使用阿里 infererence API 及 semantic text 进行向量搜索”。 在本文中&#xff0c;我们将介绍如何将阿里云 AI 功能与 Elastics…