1

最初に「xyz」があり、最初のアンダースコアの後に2があるディレクトリ内のすべてのファイルをリストしたいと思います。

たとえばxyzfjd_2_34_1.pngxyz-39_2dog.jpgは機能しますが、xyzdog_3_dog.png機能しません。

私は試した

list.files(dir, pattern="^xyz*_2*");

主に自分が何をしているのかさえわからないため、これは明らかに間違っています...

4

1 に答える 1

3

アンダースコアのないファイル名は一致しますか? いいえと仮定しています。

*あなたはどんなキャラクターでも通訳していると思います。代わりに、.任意の文字です。*は「0回以上」です。したがって、パターン^xyz*_2*xy_xyzzzz_222. 一致しませんxyz1_2

試す:

list.files(dir, pattern = "^xyz[^_]*_2")
  • ^ファイル名の先頭
  • xyz
  • [^_]*そうでない任意の文字の組み合わせ_(空の文字列を含む)
  • _2、アンダースコアの後に 2 が続きます。

パターンはファイル名の一部と一致する必要があるだけなので、残りの名前については心配しません。

于 2013-11-01T00:50:04.660 に答える