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 函数。
相关推荐
yugi9878385 小时前
基于MATLAB强化学习的单智能体与多智能体路径规划算法
算法·matlab
IT猿手14 小时前
基于强化学习的多算子差分进化路径规划算法QSMODE的机器人路径规划问题研究,提供MATLAB代码
算法·matlab·机器人
fie888918 小时前
基于MATLAB的转子动力学建模与仿真实现(含碰摩、不平衡激励)
开发语言·算法·matlab
机器学习之心18 小时前
基于GRU门控循环单元的轴承剩余寿命预测MATLAB实现
深度学习·matlab·gru·轴承剩余寿命预测
简简单单做算法19 小时前
基于FFT粗估计和LS最小二乘法精估计的正弦信号参数估计和检测matlab仿真
matlab·最小二乘法·参数估计·fft粗估计·ls最小二乘法
kaikaile199519 小时前
基于MATLAB的滑动轴承弹流润滑仿真程序实现
开发语言·matlab
Not Dr.Wang4221 天前
FIR数字滤波器设计的两种实现
matlab
3GPP仿真实验室1 天前
【MATLAB源码】CORDIC-QR :基于Cordic硬件级矩阵QR分解
开发语言·matlab·矩阵
民乐团扒谱机2 天前
【微实验】机器学习之集成学习 GBDT和XGBoost 附 matlab仿真代码 复制即可运行
人工智能·机器学习·matlab·集成学习·xgboost·gbdt·梯度提升树
Evand J2 天前
TDOA(到达时间差)的GDOP和CRLB计算的MATLAB例程,论文复现,附参考文献。GDOP:几何精度因子&CRLB:克拉美罗下界
开发语言·matlab·tdoa·crlb·gdop