こんにちは、matlab でこれを行う方法を知りたいと思っていました。ファイルがあり、ファイルのどこかにこの文字列 = "1 to 10 of 434M" があります。「434M」を手に入れたいです。M は他の文字 (K または B) でもかまいませんが、常に大文字であることに注意してください。文字の前の暗号は最大 3 チッパーですが、それより小さくすることもできます。
これをmatlabのテキストからどのように取得しますか?
ファイルを 1 行ずつ読み取るとします。次に、各行に対して次のコマンドを実行します。
% 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
この正規表現は、 の少なくとも 1 桁前に一致しM
ます。(例: 451274M も) 1 ~ 3 桁の数字のみに一致する必要がある場合は、次を使用します。
'1 to 10 of (\d{1,3}[MKB])'