MATLAB Answers

Ajpaezm
0

textscan or regex to get numbers from a text message.

Ajpaezm
さんによって質問されました 2019 年 1 月 30 日
最新アクティビティ Walter Roberson
さんによって 編集されました 2019 年 1 月 30 日
I have an expression that looks like this:
text = '[API.msg2] Order size 400 is smaller than the minimum required size of 500. {916423570, 388}';
This message can change the values of the numbers in the positions where the 400 and 500 are, I'd like to obtain/capture every number that appear in those positions. I tried doing strcmp or textscan using this, but it wasn't successful.
test = textscan(text, 'Order size %s is smaller than the minimum required size of %s.')
Do you know a way to make this work using textscan or regex? Thanks in advance.

  0 件のコメント

サインイン to comment.

製品


リリース

R2016a

1 件の回答

Walter Roberson
回答者: Walter Roberson
2019 年 1 月 30 日
編集済み: Walter Roberson
2019 年 1 月 30 日
 採用された回答

>> text = '[API.msg2] Order size 400 is smaller than the minimum required size of 500. {916423570, 388}';
>> tf = '[API.msg2] Order size %f is smaller than the minimum required size of %f';
>> sscanf(text,tf)
ans =
400
500
>> textscan(text, tf)
ans =
1×2 cell array
{[400]} {[500]}
>> str2double(regexp(text, '\d{2,}', 'match'))
ans =
400 500 916423570 388

  0 件のコメント

サインイン to comment.



Translated by