如何在matlab中检测字符串中的表达式的一部分

时间:2012-09-25 16:19:53

标签: regex matlab text strcmp

我输入的用户名为v = ddd。我有一个这个形状的字符串,名称:

aaa.bbb.ccc.ddd.eee 

我想检测我的字符串名称中是否存在(在点之间)这样的字符串,如我的输入。我该怎么办?

我用

尝试了这个想法
str = 'REGEXP.helps.you.relax';
user = 'el'
[m s e] = regexp(str, '\w*user\w*', 'match', 'start', 'end')

但是我收到错误,因为无法将变量'user'放在regexp中。 我该怎么做才能正确?或许有任何更简单的想法?

谢谢!

2 个答案:

答案 0 :(得分:3)

使用['\w*' user '\w*']作为你的第二个参数,它应该可以工作。

答案 1 :(得分:3)

作为正则表达式的替代方法,您可以使用strfind,它在另一个字符串中找到一个字符串。它返回子字符串的起始索引(如果存在)和空矩阵向量。由于您只需要检查该字符串是否存在,因此一个简单的解决方案是:

~isempty(strfind(str,user))
% ans = 1