删除'<' '>'使用matlab中的regexp从字符串中查找字符

时间:2014-11-11 05:16:42

标签: regex matlab

在我的simulink中,我有一个传播信号,如下所示:

<foo_boo>

和来源

foo_boo

我想建立一个从

返回的正则表达式
<foo_boo>

只需 foo_boo ,从foo_boo我想获得 foo_boo

换句话说,我想要一个正则表达式来删除&#39;&gt;&#39;和&#39;&lt;&#39;从我的字符串和字符串可以包括[a-zA-Z_0-9]字符。

3 个答案:

答案 0 :(得分:4)

非常简单。使用regexprep搜索输入字符串中包含<>的符号,并将其替换为空。换句话说:

out = regexprep(in, '<|>', '');

in将是您要操作的字符串(即<foo_boo>),out包含已处理的字符串。

示例:

in = '<foo_boo>';
out = regexprep(in, '<|>', '')

out =

foo_boo

答案 1 :(得分:3)

因为我认为逻辑索引是大多数MATLAB(另一个是bsxfun)的答案,所以我把它扔进去:

str = '<foo_boo>';
str( (str=='<') | (str=='>') ) = [];

答案 2 :(得分:2)

似乎没有必要使用正则表达式:

str = '<foo_boo>'
str([strfind(str,'<'),strfind(str,'>')]) = []