regexptranslate

将文本转换为正则表达式

描述

例子

newStr = regexptranslate (,str)转换str为正则表达式并返回结果中newStr。您可以使用newStr中的正则表达式正则表达式,regexpiregexprep功能。输入参数指定该类型翻译regexptranslate施行。例如,如果您指定作为'逃逸',然后regexptranslate在翻译的特殊字符str使他们在输出文本字符。newStr具有相同的数据类型str

例子

全部折叠

使用一个特征向量转换特殊字符regexptranslate函数。然后将结果作为正则表达式使用正则表达式

创建包含字符的字符向量' \ n '

空空的='序列\n生成一个新行。'
CHR =“序列\ n生成一个新行”。

创建用于查找的正则表达式' \ n '作为两个连续字符的序列'\''N'。由于正则表达式功能解释' \ n '作为换行符,使用regexptranslate创建要转义的正则表达式' \ n '

模式= regexptranslate ('逃逸',' \ n ')
模式= ' \ \ n '

查找的起始索引' \ n '空空的。阻止正则表达式从解读' \ n '作为一个换行符,使用模式作为正则表达式。

IDX =正则表达式(CHR,图案)
idx = 14

调用正则表达式没有逃避' \ n '。自正则表达式解释' \ n '作为换行符,它不会在空空的。该正则表达式函数在未找到匹配项时返回一个空数组。

idx = regexp(空空的,' \ n ')
idx = []

创建一个字符串。从R2017a开始,可以使用双引号创建字符串。

str =“把钱放进去。”
把钱投进去。"

指定文字,'$ 0.02',作为文本的替换词“钱”。为了躲避“美元”“。”字符,使用regexptranslate

r = regexptranslate ('逃逸','$ 0.02')
r = ' \ 0美元\ .02点'

取代“钱”使用regexprep函数。

newStr = regexprep (str,“钱”右)
"投你0.02美元进去。"

创建一个包含文件名的字符串数组。然后发现只有文件名与结束“.mat”

str = [“test1.mat”,“myfile.mat”,“my-matlab-script.m”,“jan30.mat”,“table3.xls”]
str =1 x5字符串列1到4 "test1。垫”“myfile。垫”“my-matlab-script。米”“jan30。mat" Column 5 "table3.xls"

为了匹配正则表达式的字符串,指定'*。垫'作为正则表达式。然后转换通配符,'*',使用regexptranslate函数。

模式= regexptranslate (“通配符”,'*。垫')
图案= '* \。垫'

中查找匹配元素str使用由指定的正则表达式模式

= regexp匹配(str,模式)
场=1×5单元阵列{[1]} {[1]} {为0x0双} {[1]} {为0x0双}

创建一个逻辑数组,特遣部队,包含1对应的元素str匹配模式。然后指数为str使用特遣部队显示文件名称与结束“.mat”

= ~ cellfun特遣部队(“isempty”,匹配);newStr = str (tf)
newStr =1×3串“test1.mat”“myfile.mat”“jan30.mat”

创建一个字符向量,其中包含由空白字符(如空格和换行符)分隔的单词。

空空的=“我想我知道这是谁的林子。”;chr = [chr换行“不过他的房子在村子里。”]
这是谁的林子我想我知道。他的房子在村子里。

指定'\ S'为正则表达式匹配的空白字符。然后替换那些字符空空的

表达='\ S';newChr = regexptranslate (“灵活”空空的,表达式)
newChr = '谁\ swoods \ *此\萨雷\的sI \ sthink \的sI \ sknow。\湜\肖斯\ SIS \罪\ STHE \ svillage \ sthough'

输入参数

全部折叠

键入翻译,指定为矢量字符或字符串标量。您可以使用表中的选项将特殊字符或通配符,或具有匹配的正则表达式替换文本。

类型的翻译

描述

'逃逸'

翻译所有的特殊字符str,如“美元”,“。”,“?”,'[',以便它们在使用时被当作字面字符对待正则表达式,regexpiregexprep。转换插入一个反斜杠或转义字符,'\',在每个特殊字符之前str

“通配符”

所有翻译和通配符“。”字符str使得在使用时,它们被视为义通配符和句正则表达式,regexpiregexprep。的所有实例将被转换'*'”。*’的所有实例“?”“。”和所有实例“。”'\'。

“灵活”

替换文本str使用匹配文本的正则表达式。如果您指定“灵活”,然后指定一个正则表达式作为替换:newStr = regexptranslate(“灵活”,str,表达)。该表达式输入可以是一个矢量字符或字符串标量。

该语法等价于=中newstr regexprep(STR,表达,regexptranslate( '逃离',表达式))

输入文本,指定为字符向量,特征向量的单元阵列,或一个字符串数组。

R2006a前推出