在matlab中注册exp

时间:2013-12-04 02:54:02

标签: regex matlab

我在matlab中分析文件,我想找到字母I(大写)的出现次数。我对如何为此步骤编写正则表达式感到困惑。它会是(lines,'.I.')吗?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:3)

如果你想计算一个文件中我的资本数量,假设你已经以字符串形式读取了该文件,你可以这样做:

count = sum(file_string == 'I');

如果在这种情况下将文件读入单元格字符串,则可以使用以下方法:

count = sum(strcat(file_cellstr{:}) == 'I');

strcat会将传递给它的所有字符串连接成一个字符串。将file_cellstr{:}传递给strcat基本上将每个单元格(即您的情况下的每一行)连接成一个字符串,然后在其中搜索字母“I”。如果你想找到一个完整的单词,你可以使用

count = length(strfind(strcat(file_cellstr{:}),'word'));

如果您想要正则表达式匹配,可以执行以下操作:

count = length(regexp(strcat(file_cellstr{:}),'[a-z]+'));