Store only numbers from user input

조회 수: 1 (최근 30일)
Raldi
Raldi 2011년 12월 1일
Hi guys
Is there a way to store only the numbers from lets say an input of the type S^2+67*s+98

채택된 답변

Walter Roberson
Walter Roberson 2011년 12월 1일
numstrs = regexp(TheString, '-?\d+', 'match');
then convert each of the cell strings returned in numstrs to numeric form. The -? part is to recognize an optional negative sign.
If you want to be able to accept floating point numbers, or if you want to recognize fractions as being numbers, or if you want to recognize pi as being a number, then the task gets more difficult.
  댓글 수: 1
Raldi
Raldi 2011년 12월 1일
No i think this will do, thank you Walter.

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Jan
Jan 2011년 12월 1일
Another approach from the times of Matlab 5.3 without REGEXP:
S = 'S^2+67*s+98';
S((S < '0' | S > '9') & S ~= '.') = ' ';
N = sscanf(S, '%g');
  댓글 수: 3
Raldi
Raldi 2011년 12월 1일
Seems that i have another problem now. What if i only need the numbers that are lets say just before the letter S. I tried to figure it out from the matlab's help but with no luck.
Walter Roberson
Walter Roberson 2011년 12월 1일
Answered in your newer question.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Logical에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by