5

Linuxdirnameなどの MATLAB でファイル名のパス部分を取得したい。basenameのような関数を見つけようとしましたがstrrchr、失敗しました。知ってstrtokおりstrfindtextscan使用できますが、これを 2 つ以下のステートメントで実現したいと考えています。

4

2 に答える 2

8

この特定の問題については、次のfileparts関数を使用することをお勧めします。

[path, filename, extension] = fileparts(str)
于 2013-01-23T09:27:07.260 に答える
3

ニックの答えは間違いなくあなたが求めていることをしますが、ここに使用する別の答えがありますregexprep

regexprep(str, '(.+)(?:\\|/)(.*)', '$1')

ファイル名(拡張子を含む)をキャプチャする場合は、の$2代わりにトークンを使用します$1。これは正規表現に適した演習であり、MATLABでテキストを解析するときに非常に役立つことが証明されています。

于 2013-01-23T10:27:55.150 に答える