フィルターのクリア

Finding characters in a string / filename

5 ビュー (過去 30 日間)
L'O.G.
L'O.G. 2022 年 4 月 3 日
コメント済み: L'O.G. 2022 年 4 月 3 日
How would I return as a double the number after the letter in the following file name? For instance, in the following, I would like to return 44 only.
'A123_T44_1.txt'

採用された回答

Image Analyst
Image Analyst 2022 年 4 月 3 日
If your filename naming protocol is fixed, so that the second number is always in position 7 and 8, you can use str2double():
fileName = 'A123_T44_1.txt';
number2 = str2double(fileName(7:8))
number2 = 44
  3 件のコメント
Image Analyst
Image Analyst 2022 年 4 月 3 日
So the format is letter, then any number of numbers, then '_T', then any number of numbers, then an underline, and finally some number of numbers? And you want the number between the first and second underline?
fileName = 'A123_T44_1.txt';
underlineLocations = strfind(fileName, '_');
number2 = str2double(fileName(underlineLocations(1) + 2 : underlineLocations(2) - 1))
number2 = 44
It's just an alternative in case you find the scanf/regexp stuff too cryptic and want something more straightforward.
L'O.G.
L'O.G. 2022 年 4 月 3 日
Thank you so much for explaining all that.

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeCharacters and Strings についてさらに検索

タグ

製品


リリース

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by