MATLAB中replace函数用法

目录

语法

说明

示例

替换字符串数组中的子字符串

替换匹配模式的子字符串

替换多个子字符串


replace函数的功能是查找并替换一个或多个子字符串。

语法

cs 复制代码
newStr = replace(str,old,new)

说明

**newStr = replace(str,old,new)**将所有出现的子字符串 old 替换为 new。如果 old 包含多个子字符串,则 new 必须与 old 具有相同的大小,或者必须为单个子字符串。

示例

替换字符串数组中的子字符串

替换文件名称列表中的占位符文本。创建一个字符串数组。

cpp 复制代码
str = ["<ROOT_DIR>\MyData\data.tar.gz";
       "<ROOT_DIR>\MyScripts\cleandata.m";
       "<ROOT_DIR>\MyScripts\preprocess.m";
       "<ROOT_DIR>\MyScripts\publishResults.m"]
str = 4x1 string
    "<ROOT_DIR>\MyData\data.tar.gz"
    "<ROOT_DIR>\MyScripts\cleandata.m"
    "<ROOT_DIR>\MyScripts\preprocess.m"
    "<ROOT_DIR>\MyScripts\publishResults.m"

将 <ROOT_DIR> 替换为表示文件路径名称的字符串。

cs 复制代码
old = "<ROOT_DIR>";
new = "C:\MyProject";
newStr = replace(str,old,new)
newStr = 4x1 string
    "C:\MyProject\MyData\data.tar.gz"
    "C:\MyProject\MyScripts\cleandata.m"
    "C:\MyProject\MyScripts\preprocess.m"
    "C:\MyProject\MyScripts\publishResults.m"

替换匹配模式的子字符串

创建包含电话号码的字符串(自 R2020b 开始提供)。

cs 复制代码
str = "Hide the numbers in: (508) 555-1234"
str = 
"Hide the numbers in: (508) 555-1234"

使用 digitsPattern 函数创建与一个数字匹配的模式。

cpp 复制代码
pat = digitsPattern(1)
pat = pattern
  Matching:

    digitsPattern(1)

用 "#" 字符替换所有数字。

cs 复制代码
newStr = replace(str,pat,"#")
newStr = 
"Hide the numbers in: (###) ###-####"

创建另一个只匹配电话号码的模式。

cs 复制代码
pat = "(" + digitsPattern(3) + ") " + digitsPattern(3)  + "-" + digitsPattern(4)
pat = pattern
  Matching:

    "(" + digitsPattern(3) + ") " + digitsPattern(3) + "-" + digitsPattern(4)

在还包含另一个数字的字符串中替换电话号码。

cs 复制代码
str = "12 calls made to: (508) 555-1234";
newStr = replace(str,pat,"(###) ###-####")
newStr = 
"12 calls made to: (###) ###-####"

替换多个子字符串

将回车符替换为换行符。创建一个字符串数组。

cs 复制代码
str = ["Submission Date: 11/29/15\r";
       "Acceptance Date: 1/20/16\r";
       "Contact: john.smith@example.com\r\n"]
str = 3x1 string
    "Submission Date: 11/29/15\r"
    "Acceptance Date: 1/20/16\r"
    "Contact: john.smith@example.com\r\n"

替换回车符。

cs 复制代码
old = {'\r\n','\r'};
new = '\n';
newStr = replace(str,old,new)
newStr = 3x1 string
    "Submission Date: 11/29/15\n"
    "Acceptance Date: 1/20/16\n"
    "Contact: john.smith@example.com\n"

参数说明

str --- 输入文本

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

old --- 要替换的子字符串

要替换的子字符串,指定为下列项之一:

  • 字符串数组

  • 字符向量

  • 字符向量元胞数组

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

new --- 新的子字符串

新的子字符串,指定为字符串数组、字符向量或字符向量元胞数组。

提示

  • 要对重叠模式执行多次替换,请使用 strrep 函数。
相关推荐
简简单单做算法1 小时前
基于PSO粒子群优化的Transformer-BiLSTM网络模型的时间序列预测算法matlab性能仿真
matlab·transformer·时间序列预测·bilstm·pso粒子群优化
ueotek1 小时前
Ansys Zemax | 在 MATLAB 或 Python 中使用 ZOS-API 进行光线追迹的批次处理
python·matlab·ansys·zemax·光学软件
全栈开发圈1 小时前
新书速览|MATLAB数据分析与可视化实践:视频教学版
开发语言·matlab·数据分析
爱代码的小黄人2 小时前
MATLAB中for循环实现递减遍历(通用方法)
开发语言·matlab
Evand J2 小时前
【MATLAB代码介绍】使用EKF融合惯导和DVL(速度)的MATLAB仿真例程
matlab·ekf·滤波·定位·导航·卡尔曼滤波·非线性滤波
南宫萧幕2 小时前
自动控制原理|稳定性与劳斯判据 知识点+计算题+MATLAB实现全套笔记
笔记·matlab·控制
神仙别闹5 小时前
基于 MATLAB 实现的图像信号处理
开发语言·matlab·信号处理
Evand J6 小时前
【MATLAB程序】CV和CA模型组成的IMM(交互式多模型),基于粒子滤波PF,背景为三维目标跟踪定位。附源代码
matlab·目标跟踪·pf·粒子滤波·imm·交互式多模型
Gofarlic_OMS6 小时前
中小企业控制方法:中小型制造企业Creo许可证成本控制
java·大数据·运维·算法·matlab·制造
jghhh018 小时前
基于主从博弈的主动配电网阻塞管理:MATLAB实现
算法·matlab