2012-04-30 10 views
1

正規表現の経験がなく、csvファイルに含まれているファイル名の一部を削除する可能性のある解決法についていくつかの助言や提案があります。PowerShellで文字列を分離する

問題:

エクスポートされたファイル名のリストは、私が孤立必要ランダムな一意の識別子が含まれています。ユニークな識別子には予測可能なパターンはありませんが、削除が必要な要素はありません。 「 - 」、「」と.PDFで終わる

V、-V、又は、追加可能なスペースを乱数列が続く%20V:各ファイル名には、以下のバリエーションのいずれかで終了します

例:

GTD-LVOE-43から0021 V10 0.PDF GTD-LVOE-43から0021-V34-2.PDF GTD-LVOE-43-0021_V02_9.PDF GTD-LVOE-43から0021 V49.9.PDF

解決策:

私の計画では、文字列の最後からVの最初に出現するものを選択し、それを削除し、そのすべてを右に削除するスクリプトを作成しました。文字列の末尾にある " - "または "_"と空白を削除することで、ファイル名をクリーンアップすることができます。

質問:

がどのように私は正規表現でこれを行うと、これを解決するための適切なアプローチにも、近い思考の私のラインであることができますか?

+0

私が正しく理解すれば、V10.PDF、V34-2.PDF、V02_9.PDF、V49.PDF(私は_Vがそれの一部も)? – emragins

+0

今しよう。私は実際にファイルの拡張子も取り除く必要があります。私は既にディレクトリにgciを作成してcsvにエクスポートしていますので、削除することで問題は発生しません。 – Steve

答えて

1

REGEX:[\s\-_]V.*?\.PDF

はトリックを行う可能性があります。あなたはまだ先導的なものと_を取り除く必要がありますが、うまくいけばパスを下ろすはずです。

V続いwhitespace- OR _で..

開始を次のようにこれは読んでいました。その後、最初になるまですべてを取る.PDF

+0

はい!!!!!完璧に働いた。最終コードは単純な(gcパス)-replace '[\ s \ -_] V。*?\。PDF'、 '' ' – Steve

関連する問題