replace
查找并替换一个或多个子字符串
说明
示例
替换字符串数组中的子字符串
替换文件名称列表中的占位符文本。
创建一个字符串数组。
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>
替换为表示文件路径名称的字符串。
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 开始提供
创建包含电话号码的字符串。
str = "Hide the numbers in: (508) 555-1234"
str = "Hide the numbers in: (508) 555-1234"
使用 digitsPattern
函数创建与一个数字匹配的模式。
pat = digitsPattern(1)
pat = pattern
Matching:
digitsPattern(1)
用 "#"
字符替换所有数字。
newStr = replace(str,pat,"#")
newStr = "Hide the numbers in: (###) ###-####"
创建另一个只匹配电话号码的模式。
pat = "(" + digitsPattern(3) + ") " + digitsPattern(3) + "-" + digitsPattern(4)
pat = pattern
Matching:
"(" + digitsPattern(3) + ") " + digitsPattern(3) + "-" + digitsPattern(4)
在还包含另一个数字的字符串中替换电话号码。
str = "12 calls made to: (508) 555-1234"; newStr = replace(str,pat,"(###) ###-####")
newStr = "12 calls made to: (###) ###-####"
有关创建模式对象的函数列表,请参阅pattern
。
替换多个子字符串
将回车符替换为换行符。
创建一个字符串数组。
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"
替换回车符。
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"
输入参数
提示
要对重叠模式执行多次替换,请使用
strrep
函数。
扩展功能
tall 数组
对行数太多而无法放入内存的数组进行计算。
C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。
用法说明和限制:
str
、old
和new
必须是字符串标量、字符向量或包含不超过一个字符向量的元胞数组。
基于线程的环境
使用 MATLAB® backgroundPool
在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool
加快代码运行速度。
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
分布式数组
使用 Parallel Computing Toolbox™ 在集群的组合内存中对大型数组进行分区。
版本历史记录
在 R2016b 中推出
另请参阅
split
| erase
| replaceBetween
| join
| extract
| insertAfter
| insertBefore
| strlength
| count
| pattern
| digitsPattern
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)