ファイル名が.txtで終わる大きなテキストファイルを持っています ファイルの行のいくつかは、ファイル名の拡張子の後に不要なテキストを含みます。 私は検索する方法を見つけようとしています+ファイル全体を置換またはトリムするので、行が.txtで見つかった場合は、それ以降のものは単に削除されます。例テキスト操作上の問題 - 既知の値の後にテキストを置き換える方法
C:\ test1.txtという
C:\ Test3.txt_ _ __ _Annoying stuff1234 .R
:\ Test2.txtHelloWorldが、これは私の 問題Cであります
希望結果
C:\ test1.txtという
C:\ test2.txtという名前
C:\ Test3.txt
私は++メモ帳で試してみました、またはバッチ/ PowerShellを使用しますが、持っています閉じる、葉巻なし。ここ
(Get-Content "D:\checkthese.txt") |
Foreach-Object {$_ -replace '.txt*', ".txt"} |
Set-Content "D:\CLEAN.txt"
私の考えは、私はその後、私は私が必要なものを切り落とすでしょう.txtの後に何も(ワイルドカード*)を交換した場合であるが、このdoesntの仕事。私は正規表現を使用する必要があると思う、購入構文が間違っている。
私は気づかないだろう、歓声! – AndyR
あなたの例が間違っていることを指摘しましょう。正規表現の先頭に '.'をエスケープしなかった場合、返されるサンプルファイル名は' alovely.txt'ではなく 'alovel.txt'になります。そうでなければきれいな答えへの質問。 ;-) – Mark
@マーク:あなたは絶対に正しいです。今それを修正しました。ありがとう! :) –