文档

regexptranslate

将文本翻译成正则表达式

语法

str newStr = regexptranslate (op)

描述

例子

newStr = regexptranslate (op.str翻译str进入正则表达式并返回结果newStr.您可以使用newStr中的正则表达式正则表达式regexpi, 和regexprep功能。输入参数op.指定翻译类型regexptranslate施行。例如,如果您指定op.作为'逃脱',然后regexptranslate翻译特殊字符str因此,它们是输出中的字符字符。newStr具有相同的数据类型为str

例子

全部折叠

使用字符向量中的特殊字符使用regexptranslate函数。然后将结果用作正则表达式正则表达式

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

空空的='序列\n生成一个新行。'
Chr ='序列\ n生成一条新行。

创建一个查找的正则表达式' \ n '作为两个连续字符的序列'\''n'.自从以来正则表达式功能解释' \ n '作为换行符,使用regexptranslate创建要转义的正则表达式' \ n '

模式= regexptranslate ('逃脱'' \ n '
模式= ' \ \ n '

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

idx = regexp(chr,模式)
idx = 14

调用正则表达式没有逃避' \ n '.自正则表达式解释' \ n '作为换行符,它不查找其中的字面字符空空的.这正则表达式函数在没有找到匹配时返回一个空数组。

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

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

str =“把钱投进去。”
str =“把你的钱放进去。”

指定文本,'$ 0.02',以文字代替字“钱”.为了躲避“美元”“。”字符,使用regexptranslate

r = regexptranslate ('逃脱''$ 0.02'
r = ' \ 0美元\ .02点'

取代“钱”使用regexprep函数。

newStr = regexprep (str,“钱”右)
newStr = "投入你的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 x5单元阵列{[1]} {[1]} {0x0 double} {[1]} {0x0 double}

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

= ~ cellfun特遣部队(“isempty”,匹配);newStr = str (tf)
newStr =1 x3字符串数组“test1.mat”“myfile.mat”“jan30.mat”

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

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

指定'\ s'作为与空白字符匹配的正则表达式。然后替换这些字符空空的

表达='\ s';newChr = regexptranslate (“灵活”空空的,表达式)
newchr ='谁\哇\ sthese \ sare \ sare \ si \ sthink \ si \ sknow。\ shis \ shouse \ sis \ sin \ sthe \ svillage \ sthough'

输入参数

全部折叠

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

类型的翻译

描述

'逃脱'

将所有特殊字符翻译成str,如“美元”“。”“?”'[',以便在使用时将其视为文字字符正则表达式regexpi, 和regexprep.翻译插入一个反斜杠或转义字符,'\',在每个特殊字符之前str

“通配符”

翻译所有通配符“。”人物str因此,它们被视为在使用时作为文字通配符和时期正则表达式regexpi, 和regexprep.的所有实例替换'*'”。*’,所有实例“?”“。”,以及所有实例“。”'\。'

“灵活”

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

此语法等价于newstr = regexprep(str,表达式,regexptranslate('secoft',表达式))

输入文本,指定为字符向量,字符向量的单元格数组或字符串数​​组。

在R2006A之前介绍