Get number from a string
조회 수: 21 (최근 30일)
이전 댓글 표시
I have a string that looks like this
I_am_a_String.562
I need to be able to pull the number out of that, and I was using the following to do so:
num = regexp(str, '\d+', 'match');
and that worked will I ran into strings like:
When lpdlogic21 is true....
and I started getting numbers that I didn't want, so I switched it to this:
num = regexp(lines{1}{jj}, '(?<words>\w*).(?<ID>\d*)', 'names');
but this didn't work for the off string either. It gave me num with about 20 entries in it. So my question is what can I use so I only get answers for the first string but none of the others. This is a basic question and I know I should know this by now, but I'm drawing a blank right now.
댓글 수: 1
Matt Fig
2012년 9월 12일
What others? You need to give a rule for deciding when to return a number and when not to return a number.
채택된 답변
Matt Fig
2012년 9월 12일
편집: Matt Fig
2012년 9월 12일
What do you mean it didn't work. Seems to work here. So what numbers do you want? Only numbers that are after a '.' or what (use: '\.\d+')? Be specific!
str = 'When lpdlogic21 is true....';
num = regexp(str, '\d+', 'match')
num =
'21'
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Characters and Strings에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!