MATLAB Answers

Remove text in a string with numbers

37 ビュー (過去 30 日間)
Chiara Scarpellini
Chiara Scarpellini 2021 年 4 月 20 日
コメント済み: Image Analyst 2021 年 4 月 21 日
How can I remove the text part and obtain a vector of just the last numbers?
e.g
Model1__DK1_5450.0
Model2__DK2_6969.0
Model3__DK3_3398.0

採用された回答

Image Analyst
Image Analyst 2021 年 4 月 20 日
編集済み: Image Analyst 2021 年 4 月 20 日
You need to use digitsPattern:
txt = 'Model1__DK1_5450.0 '
pat = digitsPattern;
onlyNumbers = extract(txt, pat)
onlyNumbers =
4×1 cell array
{'1' }
{'1' }
{'5450'}
{'0' }
or you can use logical indexing:
digitIndexes = txt >= '0' & txt <= '9';
onlyNumbers = txt(digitIndexes)
onlyNumbers =
'1154500'
Or you can do fancier parsing if you just want certain numbers. Such as:
setOf4Digits = onlyNumbers(3:end-1); % Get only the 5450
Do you want the underlines, dots, and minus signs included?
  3 件のコメント
Image Analyst
Image Analyst 2021 年 4 月 21 日
@Chiara Scarpellini, just checking back. You did not accept either answer. Are you still there?

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

その他の回答 (0 件)

Community Treasure Hunt

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

Start Hunting!

Translated by