MATLAB如何匹配正则表达式并替换

 时间:2024-11-08 23:31:42

介绍MATLAB中的函数regexprep,该函数可以匹配正则表达式并替换匹配的子串。

工具/原料

MATLABR2016a

方法/步骤

1、regexprep函数的最简化用法是regexprep(原字符串,正则表达式,替换子串)如图,批量替换文件后缀名为txt.

MATLAB如何匹配正则表达式并替换

2、使用regexprep时,在替换的子串中可以使用替换操作符(以$开头)。$N表示正则表达式中的第艘绒庳焰n个token。如图,在正则表达式中'.'后面的是一个token,效果如图。

MATLAB如何匹配正则表达式并替换

3、替换操作符(以$开头)还有:$`表示匹配部分前面,$'(在正则表达式里要输入为$'')表示匹配符分后面。效果如图。

MATLAB如何匹配正则表达式并替换

4、替换操作符还可以是$0表示当前匹配,还可以是MATLAB表达式。使用$0表示当前匹配子串,${upper(...)}执行函数upper。如图,实现了对一个字符串中的单词进行首字母大写。

MATLAB如何匹配正则表达式并替换

5、如果输入是一个字符串组成的元胞数组,则正则匹配和替换会分别作用于每个字符串,并输出等长的元胞数组。如图。

MATLAB如何匹配正则表达式并替换

6、函数regexprep还可以有选项,如图,通过选项'preservecase',匹配时忽略大小写,但是替换时保留原来的大小写。效果如图。

MATLAB如何匹配正则表达式并替换

7、通过选项'emptymatch',使得苯侈忏帘空匹配也可以被替换,如图用'^'匹配字符串开头之酡箔挝棍前,替换后相当于在字符串前面添加子串。选项还有很多:'once'表示只替换一个匹配,一个数字N表示替换第N个匹配,'warnings'表示显示警告信息,'ignorecase'表示忽略大小写,'dotexceptnewline'表示匹配'.'的时候不匹配换行符,'lineanchors'表示把^和$匹配作一行的开头和结尾(默认是整个字符串),'freespacing'表示忽略正则表达式中字面的空格和#.要匹配空格和#需要'\'和'\#'

MATLAB如何匹配正则表达式并替换

用Visio 2016绘图时如何解除形状的组合状态 如何在matlab里删除电脑里的文件 matlabR2009a如何更改字体大小和修改背景颜色 如何用visio绘制扳手?
热门搜索
甜叶菊图片 火山图片 杀人图片 菜青虫图片 擎天柱图片