Proper lookaround assertion within regexp?

3 ビュー (過去 30 日間)
Nicholas Kavouris
Nicholas Kavouris 2022 年 3 月 12 日
コメント済み: Walter Roberson 2022 年 3 月 14 日
Below sample of text generated from component readings and have to extract the Auger RPM and Fan RPM Sperately, what is the proper exrpression within the regexp function. I am currently using lookaroun assertions to do my selections.
Auger PWM: 135/255 RPM: 158 CCW: 1
AugerMaxReady 1
AugerReversed 0
Fan PWM: 192 RPM: 3750
Current Code as follows grabs all RPM values, instead of only fan or only auger. How do i give proper expression to select the RPM Value in the Correct column?
Auger_RPM=regexp(A,'(?<=RPM:).\d*(?!CCW:)','match')

回答 (1 件)

Walter Roberson
Walter Roberson 2022 年 3 月 12 日
A = "Auger PWM: 135/255 RPM: 158 CCW: 1" + newline + "Fan PWM: 192 RPM: 3750"
A =
"Auger PWM: 135/255 RPM: 158 CCW: 1 Fan PWM: 192 RPM: 3750"
Auger_RPM = regexp(A, '(?<=^Auger.*RPM:\s+)\d+', 'dotexceptnewline', 'match', 'once', 'lineanchors')
Auger_RPM = "158"
Fan_RPM = regexp(A, '(?<=^Fan.*RPM:\s+)\d+', 'dotexceptnewline', 'match', 'once', 'lineanchors')
Fan_RPM = "3750"
  2 件のコメント
Nicholas Kavouris
Nicholas Kavouris 2022 年 3 月 14 日
unfortunately neither of these lines work to find the proper data from the text file
Walter Roberson
Walter Roberson 2022 年 3 月 14 日
Is 158 and 3750 not the proper data? Were you trying to extract the 135/255 and 192 instead of the RPM field?
Or is your file different than what you outlined?
Perhaps you could attach an example file for testing.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeMATLAB についてさらに検索

製品


リリース

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by