您可以在字符数组和字符串数组中搜索文本,并使用新文本替换子字符串。2016b版中引入了字符串数组以及用于搜索和替换文本的新函数。使用诸如包含
类似地,将字符串中的文本替换为代替
函数,或使用以下函数提取文本提取器
。您可以将这些函数中的任何一个与字符向量或字符串数组一起使用。为了兼容,您还可以使用斯特芬德
和串替换
使用字符向量和字符串数组。
使用标识字符串数组、字符向量或字符向量的单元格数组中的文本包含
,开始
和endsWith
作用
创建一个字符串。从R2017a开始,您可以使用双引号而不是一串
作用
str=“罗斯玛丽·琼斯”
str=“罗斯玛丽·琼斯”
确定是否str
包含子字符串玛丽
这个包含
函数返回一个逻辑1.
如果它在字符串中的任何位置找到子字符串。
TF=包含(str,“玛丽”)
TF=必然的1.
您也可以使用斯特芬德
函数查找匹配的文本。斯特芬德
返回每个匹配开始的索引。在这种情况下,,斯特芬德
返回5.
因为M
在里面玛丽
第五个字是什么str
.
idx=strfind(str,“玛丽”)
idx=5
使用查找多个匹配项斯特芬德
.当存在多个匹配项时,斯特芬德
以数组形式返回索引。
idx=strfind(str,“s”)
idx=1×23 14
创建包含多个名称的字符串数组。确定哪些名称包含子字符串安
这个包含
函数返回具有1.
无论什么地方str
有一个包含安
。若要创建仅包含匹配项的新字符串数组,请将其索引到str
具有TF
.
str=[“罗斯玛丽·安·琼斯”,“彼得·迈克尔·史密斯”,“安·玛丽·杨”]
str=1x3字符串数组“罗斯玛丽·安·琼斯”“彼得·迈克尔·史密斯”“安·玛丽·杨”
TF=包含(str,“安”)
TF=1x3逻辑阵列1 0 1
匹配项=str(TF)
火柴=1x2字符串数组“罗斯玛丽·安·琼斯”“安·玛丽·杨”
查找以开头的字符串安
.
TF=启动时的(str,“安”);匹配项=str(TF)
matches=“安·玛丽·杨”
同样地endsWith
函数查找以指定文本结尾的字符串。
您也可以使用包含
,开始
和endsWith
用于确定字符向量是否包含文本的函数。
chr=“约翰·保罗·琼斯”
chr=‘约翰·保罗·琼斯’
TF=包含(chr,“保罗”)
TF=必然的1.
TF=末端开关(chr,“保罗”)
TF=必然的0
使用包含
函数查找字符串数组行中的文本。普查1905
包含几行1905年的模拟人口普查数据。每一行都包含一个名字、出生年份以及该名字在该年出现的次数。
人口普查1905=[“安·玛丽”,"1905","230";“约翰”,"1905","5400";“玛丽”,"1905","4600";“玛丽简”,"1905","304";“保罗”,"1905","1206"];
查找名称等于的行玛丽
.
TF=(普查1905年(:,1)==“玛丽”); 普查1905年(工作组,第
ans=1x3字符串数组“玛丽”“1905”“4600”
查找名称为的变体的行玛丽
和包含
作用
TF=包含(人口普查1905(:,1),“玛丽”); 普查1905年(工作组,第
ans=3x3字符串数组“Ann Mary”“1905”“230”“Mary”“1905”“4600”“Mary Jane”“1905”“304”
可以使用替换字符串数组、字符向量或字符向量的单元格数组中的文本代替
作用
创建一个字符串。替换子字符串玛丽
具有安妮
.
str=“罗斯玛丽·琼斯”
str=“罗斯玛丽·琼斯”
newStr=替换(str,“玛丽”,“安妮”)
newStr=“Roseanne Jones”
也可以使用串替换
功能。但是代替
建议使用此功能。
newStr=strrep(str,“琼斯”,“一天”)
newStr=“迷迭香日”
创建包含多个名称的字符串数组。
str=[“罗斯玛丽·安·琼斯”,“彼得·迈克尔·史密斯”,“安·玛丽·杨”]
str=1x3字符串数组“罗斯玛丽·安·琼斯”“彼得·迈克尔·史密斯”“安·玛丽·杨”
指定要替换的多个名称。
旧文本=[“安”,“迈克尔”];新文本=[“贝丝”,“约翰”];newStr=replace(str、oldText、newText)
新闻记者=1x3字符串数组“Rosemary Beth Jones”“Peter John Smith”“Beth Marie Young”
替换字符向量中的文本。可以使用代替
和替代者
使用字符向量以及字符串。
chr=“水星,双子座,阿波罗”
chr=‘水星、双子座、阿波罗’
替换(chr,“双子座”,“火星”)
ans=‘水星、火星、阿波罗’
替换文件名字符串数组中的文本。将文件名附加到网站地址。文件名包含空格,但空格不能是网站地址的一部分。替换空格字符," "
具有%20
,这是web地址的标准。
str=[“财务报告.docx”;“2015年季度详细信息.docx”;“幻灯片.pptx”]
str=3x1字符串数组“财务报告.docx”“2015年季度详细信息.docx”“幻灯片.pptx”
newStr=替换(str," ","%20")
新闻记者=3x1字符串数组“财务%20报告.docx”“季度%202015%20详细信息.docx”“幻灯片.pptx”
将文件名附加到网站地址。
文件名="http://example.com/Documents/"+新闻记者
文件名=3x1字符串数组"http://example.com/Documents/Financial%20Report.docx" "http://example.com/Documents/Quarterly%202015%20Details.docx" "http://example.com/Documents/Slides.pptx"
使用从字符串数组或字符向量中提取子字符串提取器
,提取前
和提取器
函数。使用这些函数提取指定文本段之前、之后或之间的不同子字符串。
创建包含文件名的字符串数组。在C:\Temp\
和提取器
作用
str=[“C:\Temp\MyReport.docx”;“C:\Temp\Data\Sample1.csv”;“C:\Temp\Slides.pptx”]
str=3x1字符串数组“C:\Temp\MyReport.docx”“C:\Temp\Data\Sample1.csv”“C:\Temp\Slides.pptx”
filenames=extractAfter(str,“C:\Temp\”)
文件名=3x1字符串数组“MyReport.docx”“数据\Sample1.csv”“幻灯片.pptx”
从对XML标记中的名称进行编码的字符串数组中提取客户名称。
str=[“伊丽莎白日 ”;“George Adams ”;“Sarah Young ”]
str=3x1字符串数组“Elizabeth Day ”George Adams “Sarah Young ”
name=extractBetween(str,“” ,“”)
名字=3x1字符串数组“伊丽莎白·戴”“乔治·亚当斯”“萨拉·杨”
包含
|endsWith
|擦除
|擦掉
|提取器
|提取前
|提取器
|插入器
|插入之前
|代替
|替代者
|开始
|斯特芬德
|串替换