0

嗨,我想知道如何在 matlab 中执行此操作:我有一个文件,在文件的某处我有这个字符串 = "1 to 10 of 434M"。我想得到"434M"。尽管记住 M 也可以是其他字母(K 或 B),但始终是大写字母。字母前的密码最多可以是 3 个削片机,但也可以更小。

我如何从matlab中的文本中得到这个?

4

1 回答 1

0

假设您逐行读取文件。然后为每一行执行以下命令:

% line is current line of input file
[matchstart,~,~,~,tokenstring] = regexp(line, '1 to 10 of (\d+[MKB])');
if ~isempty(matchstart)
  desired_string = tokenstring{1};
end

此正则表达式至少匹配之前的一位数字M。(例如 451274M)如果它应该只匹配 1 到 3 位数的数字,请使用:

'1 to 10 of (\d{1,3}[MKB])'
于 2012-11-21T10:36:35.297 回答